Skip navigation links

Package it.unimi.dsi.io

I/O classes.

See: Description

Package it.unimi.dsi.io Description

I/O classes.

Package Specification

Classes in this package fulfill needs that are not satisfied by the I/O classes available.

Reading text

We provide replacement classes such as FastBufferedReader and classes exposing the lines of a file as a collection or as an iterator. The general WordReader interface is used by MG4J to provide customisable word segmentation.

Bit-level I/O

The standard Java API lacks bit-level I/O classes: to this purpose, we provide InputBitStream and OutputBitStream, which can wrap any standard Java corresponding stream and make it work at the bit level; moreover, they provide support for several useful formats (such as unary, binary, minimal binary, γ, δ and Golomb encoding).

Bit input and output streams offer also efficient buffering and a way to reposition the bit stream in case the underlying byte stream is a file-based stream or a RepositionableStream.

Conventions

All coding methods work on natural numbers. The encoding of zero is very natural for some techniques, and much less natural for others. To keep methods rationally organised, all methods are able to encode any natural number. If, for instance, you want to write positive numbers in unary encoding and you do not want to waste a bit, you have to decrement them first (i.e., instead of p you must encode p−1).

Skip navigation links