Философия Java

         

Компрессия


Библиотека ввода/вывода Java содержит классы, поддерживающие чтение и запись потоков в компрессированном формате. Они являются оберткой для существующих классов ввода/вывода для обеспечения возможности компрессирования.

Эти классы не наследуются от классов Reader и Writer, а вместо этого они являются частью иерархии InputStream и OutputStream. Это происходит потому, что библиотека компрессии работает с байтами, а не с символами. Однако вы можете иногда встретить необходимость смешивания двух типов потоков. (Помните, что вы можете использовать InputStreamReader и OutputStreamWriter для обеспечения простой конвертации одного типа в другой.)

Классы компрессии

Функция



CheckedInputStream GetCheckSum( ) производит контрольную сумму для любого InputStream (только не декомпрессию).
CheckedOutputStream GetCheckSum( ) производит контрольную сумму для любого OutputStream (только не декомпрессию).
DeflaterOutputStream Базовый класс для классов компрессии.
ZipOutputStream DeflaterOutputStream, который компрессирует данные в файл формата Zip.
GZIPOutputStream DeflaterOutputStream, который компрессирует данные в файл формата GZIP.
InflaterInputStream Базовый класс для классов декомпрессии.
ZipInputStream InflaterInputStream, который декомпрессирует данные, хранящиеся в файле формата Zip.
GZIPInputStream InflaterInputStream, который декомпрессирует данные, хранящиеся в файле формата GZIP.

Хотя существует много алгоритмов компрессии, Zip и GZIP, вероятно, наиболее часто используемые. Поэтому вы можете легко манипулировать вашими компрессированными данными с помощью многих инструментов, существующих для чтения и записи этих форматов.



Содержание раздела