Utilities and implementation classes for various I/O operations.


Class Summary
BufferUtil java.nio.Buffer utility.
ChannelUtil<E extends RuntimeException> A utility class for reading and writing to
CloseProtectedFileChannel A FilterFileChannel that does not chain the close method to the underlying file channel.
FilterFileChannel A facade base class for subclassing and chaining specialized FileChannel functionality.
FilterFileChannel.FilterFileLock A FileLock filter.
FilterInputChannel A filter (or facade) on a ScatteringByteChannel.
FilterOutputChannel A filter (or facade) on a GatheringByteChannel.
ImmutableBuffer A ByteBuffer holder that exposes an immutable view of it.
IntegerFilename Utility for creating integer-based filenames that are lexically pleasing to the eye.
LockProtectedFileChannel A FilterFileChannel that prevents locking any part of the underlying file channel.
MemoryFileChannel An in-memory FileChannel.
SubFileChannel A view of a region of an underlying FileChannel.
Utf8Codec<T extends RuntimeException> Aid for the memory-impaired to encode and decode buffers to and from the UTF-8 format.
VInt Variable width integral value reader and writer.
WorkAroundFileChannel It's come to this… standardizing on a workaround interface for coping with outstanding bugs surrounding FileChannel implementations.

Enum Summary
SubFileChannel.AccessMode Defines the access modes supported by SubFileChannel.
Word An enumeration of the data widths.

Package Description

Utilities and implementation classes for various I/O operations. These mostly concern the facilities found under the java.nio.* class hierarchy.

General read-write support

The ChannelUtil class is a utility for reading and writing to channels that aids an application when it needs to read or write a known or expected number of bytes.

Word provides a data-width neutral way of reading and writing integral values (so that, for example, you don't have to hard-code, and can easily change, the number of bytes used to serialize or deserialize a number).

FileChannel support

java.nio.channels.FileChannel is a useful abstraction. Fortunately, it's relatively easy to roll out your own implementation. Of note, is the MemoryFileChannel implementation which is functional but not feature-complete (does not support locking, yet), and the SubFileChannel which is simply a filter on an existing channel. Using SubFileChannel, it's easy to create, for instance, a read-only view of a region of a file.

The FilterFileChannel is intended to aid implementing other filters and is motivated by the same facade pattern found in FilterInputStream and FilterOutputStream. Logo