Spec-Zone.ru › OpenJDK 27

Класс DeflaterInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.DeflaterInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class DeflaterInputStream extends FilterInputStream
Реализует фильтр входного потока для сжатия данных в формате сжатия «deflate».

Использование компрессора

DeflaterInputStream, созданный без указания компрессора, создаст компрессор при создании и закроет его, когда входной поток будет закрыт.

Если при создании DeflaterInputStream указан компрессор, вызывающий отвечает за то, чтобы закрыть компрессор после закрытия входного потока.

Примечание API:
Для освобождения ресурсов, используемых этим потоком, необходимо вызвать метод close() напрямую или с помощью оператора try-with-resources.
Начиная с:
1.6
См. также:
  • DeflaterOutputStream
  • InflaterOutputStream
  • InflaterInputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected final byte[] buf
Входной буфер для чтения сжатых данных.
protected final Deflater def
Компрессор для этого потока.

Поля, объявленные в классе FilterInputStream

in
Модификатор и тип Поле Описание
protected InputStream in
Входной поток для фильтрации.

Краткое описание конструкторов

Конструктор Описание
DeflaterInputStream(InputStream in)
Создает новый входной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию.
DeflaterInputStream(InputStream in, Deflater defl)
Создает новый входной поток с указанным компрессором и размером буфера по умолчанию.
DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
Создает новый входной поток с указанным компрессором и размером буфера.

Краткое описание методов

Модификатор и тип Метод Описание
int available()
Возвращает 0 после достижения конца файла (EOF), в противном случае всегда возвращает 1.
void close()
Закрывает этот входной поток и нижележащий входной поток, отбрасывая все ожидающие несжатые данные.
void mark(int limit)
Эта операция не поддерживается.
boolean markSupported()
Всегда возвращает false, поскольку этот входной поток не поддерживает методы mark() и reset().
int read()
Считывает один байт сжатых данных из входного потока.
int read(byte[] b, int off, int len)
Считывает сжатые данные в массив байтов.
void reset()
Эта операция не поддерживается.
long skip(long n)
Пропускает и отбрасывает данные из входного потока.

Методы, объявленные в классе FilterInputStream

read
Модификатор и тип Метод Описание
int read(byte[] b)
Считывает до b.length байт данных из этого входного потока в массив байтов.

Методы, объявленные в классе InputStream

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Модификатор и тип Метод Описание
static InputStream nullInputStream()
Возвращает новый InputStream, который не считывает байты.
byte[] readAllBytes()
Считывает все оставшиеся байты из входного потока.
int readNBytes(byte[] b, int off, int len)
Считывает запрошенное число байтов из входного потока в указанный массив байтов.
byte[] readNBytes(int len)
Считывает из входного потока до указанного числа байтов.
void skipNBytes(long n)
Пропускает и отбрасывает ровно n байт данных из этого входного потока.
long transferTo(OutputStream out)
Считывает все байты из этого входного потока и записывает их в указанный выходной поток в порядке считывания.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени.

Подробное описание полей

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 — при возникновении ошибки ввода-вывода
См. также:
  • FilterInputStream.in

read

public int read() throws IOException
Считывает один байт сжатых данных из входного потока. Этот метод блокирует выполнение до тех пор, пока не появятся данные, которые можно считать и сжать.
Переопределяет:
read в классе FilterInputStream
Возвращает:
один байт сжатых данных или -1, если достигнут конец несжатого входного потока
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт
См. также:
  • FilterInputStream.in

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 — при возникновении ошибки ввода-вывода или если этот входной поток уже закрыт
См. также:
  • FilterInputStream.in

skip

public long skip(long n) throws IOException
Пропускает и отбрасывает данные из входного потока. Этот метод может блокировать выполнение, пока не будет пропущено указанное число байтов или не будет достигнут конец потока.
Переопределяет:
skip в классе FilterInputStream
Примечание по реализации:
Этот метод пропускает не более Integer.MAX_VALUE байтов.
Параметры:
n — число байтов, которые нужно пропустить. Если n равно нулю, байты не пропускаются.
Возвращает:
фактическое число пропущенных байтов, которое может быть равно нулю
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт
IllegalArgumentException — если n < 0
См. также:
  • InputStream.skipNBytes(long)

available

public int available() throws IOException
После достижения конца файла (EOF) возвращает 0, в противном случае всегда возвращает 1.

Программы не должны рассчитывать, что этот метод возвращает фактическое число байтов, которые можно считать без блокировки

Переопределяет:
available в классе FilterInputStream
Возвращает:
ноль после достижения конца нижележащего входного потока, в противном случае всегда возвращает 1
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт

markSupported

public boolean markSupported()
Всегда возвращает false, поскольку этот входной поток не поддерживает методы mark() и reset().
Переопределяет:
markSupported в классе FilterInputStream
Возвращает:
false, всегда
См. также:
  • FilterInputStream.in
  • InputStream.mark(int)
  • InputStream.reset()

mark

public void mark(int limit)
Эта операция не поддерживается.
Переопределяет:
mark в классе FilterInputStream
Параметры:
limit — максимальное число байтов, которые можно считать до сброса маркера позиции
См. также:
  • FilterInputStream.in
  • FilterInputStream.reset()

reset

public void reset() throws IOException
Эта операция не поддерживается.
Переопределяет:
reset в классе FilterInputStream
Исключения:
IOException — выбрасывается всегда
См. также:
  • FilterInputStream.in
  • FilterInputStream.mark(int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API