Reading and Writing |
Data sink streams read from or write to specialized data sinks such as strings, files, or pipes. Typically, for each reader or input stream intended to read from a specific kind of input source, java.io contains a parallel writer or output stream that can create it. The following table givesjava.io
's data sink streams.[PENDING: get table from book]
Note that both the character stream group and the byte stream group contain parallel pairs of classes that operate on the same data sinks. These are described next:
CharArrayReader
andCharArrayWriter
ByteArrayInputStream
andByteArrayOutputStream
- Use these streams to read from and write to memory. You create these streams on an existing array and then use the read and write methods to read from or write to the array.
FileReader
andFileWriter
FileInputStream
andFileOutputStream
- Collectively called file streams, these streams are used to read from or write to a file on the native file system. How to Use File Streams has an example that uses
FileReader
andFileWriter
to copy the contents of one file into another.PipedReader
andPipedWriter
PipedInputStream
andPipedOutputStream
- Implement the input and output components of a pipe. Pipes are used to channel the output from one program (or thread) into the input of another. See
PipedReader
andPipedWriter
in action in How to Use Pipe Streams.StringReader
andStringWriter
StringBufferInputStream
- Use
StringReader
to read characters from aString
as it lives in memory. UseStringWriter
to write to aString
.StringWriter
collects the characters written to it in aStringBuffer
, which can then be converted to aString
.StringBufferInputStream
is similar toStringReader
, except that it reads bytes from aStringBuffer
.
Reading and Writing |