Класс DeflaterInputStream
- Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class DeflaterInputStream extends FilterInputStream
Использование компрессора
DeflaterInputStream, созданный без указания компрессора, создаст компрессор при создании и закроет его, когда входной поток будет закрыт. Если при создании DeflaterInputStream указан компрессор, вызывающий отвечает за то, чтобы закрыть компрессор после закрытия входного потока.
- Примечание к API:
- Для освобождения ресурсов, используемых этим потоком, следует вызвать метод
close()напрямую или с помощью оператораtry-with-resources. - Начиная с:
- 1.6
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected final byte[] |
buf |
Буфер ввода для чтения сжатых данных. |
protected final Deflater |
def |
Компрессор для этого потока. |
Поля, объявленные в классе FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DeflaterInputStream |
Создает новый входной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию. |
DeflaterInputStream |
Создает новый входной поток с указанным компрессором и размером буфера по умолчанию. |
DeflaterInputStream |
Создает новый входной поток с указанным компрессором и размером буфера. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает 0 после достижения конца файла, в противном случае всегда возвращает 1. |
void |
close() |
Закрывает этот входной поток и лежащий в его основе входной поток, отбрасывая все ожидающие несжатые данные. |
void |
mark |
Эта операция не поддерживается. |
boolean |
markSupported() |
|
int |
read() |
Читает один байт сжатых данных из входного потока. |
int |
read |
Читает сжатые данные в массив байтов. |
void |
reset() |
Эта операция не поддерживается. |
long |
skip |
Пропускает и отбрасывает данные из входного потока. |
Методы, объявленные в классе FilterInputStream
read
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
def
protected final Deflater def
buf
protected final byte[] buf
Подробное описание конструкторов
DeflaterInputStream
public DeflaterInputStream(InputStream in)
Компрессор будет закрыт, когда этот входной поток будет закрыт.
- Параметры:
-
in— входной поток для чтения несжатых данных - Исключения:
-
NullPointerException— еслиinравно null
DeflaterInputStream
public DeflaterInputStream(InputStream in, Deflater defl)
Закрытие этого входного потока не приведет к закрытию переданного компрессора.
- Параметры:
-
in— входной поток для чтения несжатых данных -
defl— компрессор («deflater») для этого потока - Исключения:
-
NullPointerException— еслиinилиdeflравно null
DeflaterInputStream
public DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
Закрытие этого входного потока не приведет к закрытию переданного компрессора.
- Параметры:
-
in— входной поток для чтения несжатых данных -
defl— компрессор («deflater») для этого потока -
bufLen— размер буфера сжатия - Исключения:
-
IllegalArgumentException— еслиbufLen <= 0 -
NullPointerException— еслиinилиdeflравно null
Подробное описание методов
close
public void close() throws IOException
- Определен в:
-
closeв интерфейсеAutoCloseable - Определен в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеFilterInputStream - Исключения:
-
IOException— при возникновении ошибки ввода-вывода - См. также:
read
public int read() throws IOException
- Переопределяет:
-
readв классеFilterInputStream - Возвращает:
- один байт сжатых данных или -1, если достигнут конец несжатого входного потока
- Исключения:
-
IOException— при возникновении ошибки ввода-вывода или если этот поток уже закрыт - См. также:
read
public int read(byte[] b, int off, int len) throws IOException
- Переопределяет:
-
readв классеFilterInputStream - Параметры:
-
b— буфер, в который считываются данные -
off— начальное смещение данных вb -
len— максимальное число сжатых байтов для чтения вb - Возвращает:
- фактическое число прочитанных байтов или -1, если достигнут конец несжатого входного потока
- Исключения:
-
NullPointerException— еслиbравно null -
IndexOutOfBoundsException— еслиlen > b.length - off -
IOException— при возникновении ошибки ввода-вывода или если этот входной поток уже закрыт - См. также:
skip
public long skip(long n) throws IOException
- Переопределяет:
-
skipв классеFilterInputStream - Примечание по реализации:
- Этот метод пропускает не более
Integer.MAX_VALUEбайтов. - Параметры:
-
n— число байтов, которые нужно пропустить. Еслиnравно нулю, байты не пропускаются. - Возвращает:
- фактическое число пропущенных байтов, которое может быть равно нулю
- Исключения:
-
IOException— при возникновении ошибки ввода-вывода или если этот поток уже закрыт -
IllegalArgumentException— еслиn < 0 - См. также:
available
public int available() throws IOException
Программы не должны рассчитывать на то, что этот метод возвращает фактическое число байтов, которые можно прочитать без блокировки
- Переопределяет:
-
availableв классеFilterInputStream - Возвращает:
- ноль после достижения конца лежащего в основе входного потока; в противном случае всегда возвращает 1
- Исключения:
-
IOException— при возникновении ошибки ввода-вывода или если этот поток уже закрыт
markSupported
public boolean markSupported()
- Переопределяет:
-
markSupportedв классеFilterInputStream - Возвращает:
- всегда false
- См. также:
mark
public void mark(int limit)
- Переопределяет:
-
markв классеFilterInputStream - Параметры:
-
limit— максимальное число байтов, которое можно прочитать до того, как позиционная метка станет недействительной - См. также:
reset
public void reset() throws IOException
- Переопределяет:
-
resetв классеFilterInputStream - Исключения:
-
IOException— выбрасывается всегда - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/zip/DeflaterInputStream.html