java.nio Package

A buffer is a temporary storage area for data. Java uses buffered input and output to temporarily cache data read from or written to a stream.
The RandomAccessFile class provides the capability to perform I/O to specific locations within a file.
Character streams provide a way to handle character oriented input/output operations.
Reader and Writer classes are abstract classes that support reading and writing of Unicode character streams.
The CharArrayReader and CharArrayWriter classes are similar to ByteArrayInputStream and ByteArrayOutputStream in that they support input and output from memory buffers.
Serialization is the process of reading and writing objects to a byte stream.