CharArrayWriter
CharArrayWriter is about reading or writing data outside the program — files, bytes, or characters. Byte streams (InputStream/OutputStream) handle raw bytes. Character streams (Reader/Writer) handle text.
For CharArrayWriter, always close resources. Prefer try-with-resources so close happens even if an error occurs. Buffered streams are faster for many small reads.
CharArrayWriter viva: serialization turns an object into bytes. transient fields are skipped. Don’t serialize secrets without a plan.
Let's take this on the board with one tiny Main class — no extra files. CharArrayWriter — prints length 3, middle value 20, then all values. Start from main, go line by line, and stop at each print. That output is the proof for CharArrayWriter.
Contrast array vs ArrayList in one line.