Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package edu.emory.mathcs.util.io

Utility classes related to stream-based I/O.

See:
Description

Interface Summary
Input | An abstraction of a plain input stream.
RedirectibleInput | Input source capable of redirecting the data to an output stream.
RedirectibleReader | Character input source capable of redirecting characters to a writer.
TimedInput | Input source that supports read with timeouts.
TimedRedirectibleInput | Input source that is both redirectible and supports timeout read.

Class Summary
Base64Decoder | Input stream that decodes from base64 on-the-fly, that is, it converts base64-encoded character stream into a decoded byte stream.
Base64Encoder | Output stream that base64-encodes supplied data on-the-fly, that is, it transforms a byte stream into a base64-encoded character stream.
BufferedDataInputStream | Deprecated.
BufferedDataOutputStream | Deprecated.
BufferedPipe | In-memory pipe that enables buffered sequential data transfer between threads.
CompressedInputStream | Filter input stream that is able to decompress data compressed with `CompressedOutputStream`.
CompressedOutputStream | Filter output stream that compresses data and features strong flush semantics.
FileUtils |
ForkOutputStream | Output stream that multicasts its data to sevaral underlying output streams.
FragmentInputStream | Virtual input stream that reads up to the specified number of bytes from the underlying stream and then reports EOF.
IOUtils |
NullInputStream | Input stream that is always at EOF.
NullOutputStream | Output stream that ignores all data written.
RedirectingInputStream | Input stream that supports redirecting data directly to an output stream.
RedirectingReader | Reader that supports redirecting data directly to a writer.
TeeInputStream | Filter input stream that - in addition to normal processing - writes a copy of the data, as it is being read, to a specified output stream.
ThreadSafeBufferedInputStream | Buffered input stream that behaves correctly under asynchronous close.

## Package edu.emory.mathcs.util.io Description

Utility classes related to stream-based I/O. Highlights:

- `Base64Encoder` and `Base64Decoder` allow to encode and decode bytes to and from the base64 format. The classes can work both as filtering streams and offline (converting strings to byte arrays and vice versa).
- `BufferedPipe` is an in-memory pipe that links an output stream with an input stream via a dynamically sized memory buffer. Such pipes are useful for decoupling data producing threads from data consuming threads in a way that allows to control and minimize memory footprint.
- Various ways of redirecting and splitting streams are handled by `ForkOutputStream`, `RedirectingInputStream`, `RedirectingReader`, and `TeeInputStream` classes.
- `NullInputStream` and `NullOutputStream` provide stream "terminators", similar to /dev/null: the former is always at EOF, and the latter discards all the data written. They are useful to specify "no data" or to discard an output when working with stream-oriented APIs.
- `CompressedOutputStream` and `CompressedInputStream` provide data compression capabilities while maintaining strong flush semantics, that is, flushing causes all buffered data to be written out. Because of this feature, these classes can be used for request-response-based applications, e.g. as RMI or RPC transport. Note that standard `ZipOutputStream` and `GZIPOutputStream` lack this feature, and thus cannot be used as an RMI transport.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES