All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.it.unimi.dsi.io.package-info Maven / Gradle / Ivy

/** I/O classes
 *
 * 

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

Reading text

* *

We provide replacement classes such as {@link * it.unimi.dsi.io.FastBufferedReader} and classes exposing the lines of * a file as an {@linkplain * it.unimi.dsi.io.FileLinesMutableStringIterable Iterable}. The general * {@link it.unimi.dsi.io.WordReader} interface is used by MG4J * to provide customizable word segmentation. * *

Bit-level I/O

* *

The standard Java API lacks bit-level I/O classes: to this purpose, we * provide {@link it.unimi.dsi.io.InputBitStream} and {@link * it.unimi.dsi.io.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 {@link it.unimi.dsi.fastutil.io.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 organized, 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). */ package it.unimi.dsi.io;





© 2015 - 2025 Weber Informatics LLC | Privacy Policy