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()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.