Unified I/O is high performance Java I/O library. It features high performance (due to buffering), memory management, the ability to access streams, arrays, and files using the same interface, the ability to read or write directly from or into primitive arrays, and optimized reading over HTTP. Unified I/O also contains many utilities: Transformer, BitInputStream and BitOutputStream, PackBits, a RLE4 and RLE8 decoder, a base64 codec implementation, and many others.
| Tags | Software Development Libraries Java Libraries |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Changes: This release added the ability to read/manipulate bits of byte arrays without using ByteArrayInputStream or ByteArrayOutputStream by including new ByteArray and ByteArrayIO classes. ByteArray encapsulates a byte array with byte and bit offsets, while ByteArrayIO contains static methods for accessing bits of the byte array. Bugs were fixed.


Changes: To eliminate bugs, the interface has been simplified: methods that used primitive arrays like read(short [] dest) or write(int [] src) were made static and moved to utility classes. To prove that UIO streams are working error free, test classes have been written that can compare input from two streams or from a UIO stream and RandomAccessFile.


Changes: Creating independent child streams has been added. The ability to synchronize access to stream content has been added. The user can specify the directory to be used for creating temporary files. If such a directory is specified, UIO will always use File Caching for InputStream and URL (File Caching for OutputStream will be added later). XTransformer has been added: it is the same as Transformer, but does not restricted you to big/little endiannes, i.e. it can read bytes in any user-specified order. A bug has been fixed where BufferPosition moved from buffer to stream.


Changes: The code was migrated to a new buffering model. All known bugs were fixed.


Changes: This release features a new buffering model and the ability to create child streams with shared or independent stream position. InputStreams was implemented on all primitive arrays.
A mail-management-oriented DMS application based on Maarch Framework.