|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Inflater extends Object
Следующий фрагмент кода демонстрирует тривиальное сжатие и распаковку строки, используя Deflater и Inflater.
try {
// Encode a String into bytes
String inputString = "blahblahblah??";
byte[] input = inputString.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
// Decompress the bytes
Inflater decompresser = new Inflater();
decompresser.setInput(output, 0, compressedDataLength);
byte[] result = new byte[100];
int resultLength = decompresser.inflate(result);
decompresser.end();
// Decode the bytes into a String
String outputString = new String(result, 0, resultLength, "UTF-8");
} catch(java.io.UnsupportedEncodingException ex) {
// handle
} catch (java.util.zip.DataFormatException ex) {
// handle
}
Deflater| Конструктор и Описание |
|---|
Inflater()
Создает новый декомпрессор.
|
Inflater(boolean nowrap)
Создает новый декомпрессор.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
end()
Закрывает декомпрессор и отбрасывает любой необработанный ввод.
|
protected void |
finalize()
Закрывает декомпрессор, когда мусор собирается.
|
boolean |
finished()
Возвращает true, если конец сжатого потока данных был достигнут.
|
int |
getAdler()
Возвращает значение ADLER-32 несжатых данных.
|
long |
getBytesRead()
Возвращает общее количество сжатого ввода байтов до сих пор.
|
long |
getBytesWritten()
Возвращает общее количество несжатого вывода байтов до сих пор.
|
int |
getRemaining()
Возвращает общее количество байтов, остающихся во входном буфере.
|
int |
getTotalIn()
Возвращает общее количество сжатого ввода байтов до сих пор.
|
int |
getTotalOut()
Возвращает общее количество несжатого вывода байтов до сих пор.
|
int |
inflate(byte[] b)
Распаковывает байты в указанный буфер.
|
int |
inflate(byte[] b, int off, int len)
Распаковывает байты в указанный буфер.
|
boolean |
needsDictionary()
Возвращает true, если предварительно установленный словарь необходим для распаковки.
|
boolean |
needsInput()
Возвращает true, если никакие данные не остаются во входном буфере.
|
void |
reset()
Инфлятор сбросов так, чтобы мог быть обработан новый набор входных данных.
|
void |
setDictionary(byte[] b)
Устанавливает предварительно установленный словарь в данный массив байтов.
|
void |
setDictionary(byte[] b, int off, int len)
Устанавливает предварительно установленный словарь в данный массив байтов.
|
void |
setInput(byte[] b)
Входные данные наборов для распаковки.
|
void |
setInput(byte[] b, int off, int len)
Входные данные наборов для распаковки.
|
public Inflater(boolean nowrap)
Отметьте: При использовании 'nowrap' опции также необходимо обеспечить дополнительный "фиктивный" байт как входной. Это требуется собственной библиотекой ZLIB, чтобы поддерживать определенную оптимизацию.
nowrap - если истина тогда поддерживает совместимое сжатие GZIPpublic Inflater()
public void setInput(byte[] b,
int off,
int len)
b - входные байты данныхoff - смещение запуска входных данныхlen - длина входных данныхneedsInput()public void setInput(byte[] b)
b - входные байты данныхneedsInput()public void setDictionary(byte[] b,
int off,
int len)
b - байты данных словаряoff - смещение запуска данныхlen - длина данныхneedsDictionary(), getAdler()public void setDictionary(byte[] b)
b - байты данных словаряneedsDictionary(), getAdler()public int getRemaining()
public boolean needsInput()
public boolean needsDictionary()
setDictionary(byte[], int, int)public boolean finished()
public int inflate(byte[] b,
int off,
int len)
throws DataFormatException
b - буфер для несжатых данныхoff - смещение запуска данныхlen - максимальное количество несжатых байтовDataFormatException - если сжатый формат данных недопустимneedsInput(), needsDictionary()public int inflate(byte[] b)
throws DataFormatException
b - буфер для несжатых данныхDataFormatException - если сжатый формат данных недопустимneedsInput(), needsDictionary()public int getAdler()
public int getTotalIn()
Так как число байтов может быть больше чем Целое число. MAX_VALUE, getBytesRead() метод является теперь привилегированными средствами получения этой информации.
public long getBytesRead()
public int getTotalOut()
Так как число байтов может быть больше чем Целое число. MAX_VALUE, getBytesWritten() метод является теперь привилегированными средствами получения этой информации.
public long getBytesWritten()
public void reset()
public void end()
protected void finalize()
finalize в class ObjectWeakReference, PhantomReference
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92