Spec-Zone.ru › OpenJDK 25

Класс DigestInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.security.DigestInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class DigestInputStream extends FilterInputStream
Прозрачный поток, обновляющий связанный дайджест сообщения с использованием битов, проходящих через поток.

Чтобы завершить вычисление дайджеста сообщения, вызовите один из методов digest связанного дайджеста сообщения после вызовов одного из методов read этого потока ввода дайджеста.

Этот поток можно включать и выключать (см. on). Когда поток включен, вызов одного из методов read приводит к обновлению дайджеста сообщения. Когда поток выключен, дайджест сообщения не обновляется. По умолчанию поток включен.

Обратите внимание, что объекты дайджеста могут вычислить только один дайджест (см. MessageDigest), поэтому для вычисления промежуточных дайджестов вызывающему коду следует сохранить ссылку на объект дайджеста и клонировать его для каждого вычисляемого дайджеста, оставляя исходный дайджест неизменным.

Примечание по реализации:
Эта реализация обновляет дайджест сообщения только данными, фактически прочитанными из входного потока, когда он включен. Это относится к различным методам read, transferTo, readAllBytes и readNBytes. Обратите внимание, что данные, пропущенные методом skip, игнорируются. С другой стороны, если базовый поток поддерживает методы mark и reset, и те же данные считываются снова после reset, дайджест сообщения обновляется повторно.
С версии:
1.2
См. также:
  • MessageDigest
  • DigestOutputStream

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

Модификатор и тип Поле Описание
protected MessageDigest digest
Дайджест сообщения, связанный с этим потоком.

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

in

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

Конструктор Описание
DigestInputStream(InputStream stream, MessageDigest digest)
Создает поток ввода дайджеста, используя указанные входной поток и дайджест сообщения.

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

Модификатор и тип Метод Описание
MessageDigest getMessageDigest()
Возвращает дайджест сообщения, связанный с этим потоком.
void on(boolean on)
Включает или выключает функцию вычисления дайджеста.
int read()
Считывает байт и обновляет дайджест сообщения (если функция вычисления дайджеста включена).
int read(byte[] b, int off, int len)
Считывает данные в массив байтов и обновляет дайджест сообщения (если функция вычисления дайджеста включена).
void setMessageDigest(MessageDigest digest)
Связывает указанный дайджест сообщения с этим потоком.
String toString()
Выводит строковое представление этого потока ввода дайджеста и связанного с ним объекта дайджеста сообщения.

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

available, close, mark, markSupported, read, reset, skip

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

digest

protected MessageDigest digest
Дайджест сообщения, связанный с этим потоком.

Подробное описание конструкторов

DigestInputStream

public DigestInputStream(InputStream stream, MessageDigest digest)
Создает поток ввода дайджеста, используя указанные входной поток и дайджест сообщения.
Параметры:
stream — входной поток.
digest — дайджест сообщения, который нужно связать с этим потоком.

Подробное описание методов

getMessageDigest

public MessageDigest getMessageDigest()
Возвращает дайджест сообщения, связанный с этим потоком.
Возвращает:
дайджест сообщения, связанный с этим потоком.
См. также:
  • setMessageDigest(java.security.MessageDigest)

setMessageDigest

public void setMessageDigest(MessageDigest digest)
Связывает указанный дайджест сообщения с этим потоком.
Параметры:
digest — дайджест сообщения, который нужно связать с этим потоком.
См. также:
  • getMessageDigest()

read

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

read

public int read(byte[] b, int off, int len) throws IOException
Считывает данные в массив байтов и обновляет дайджест сообщения (если функция вычисления дайджеста включена). Этот метод считывает из входного потока в массив b не более len байтов, начиная со смещения off. Метод блокирует выполнение до фактического считывания данных. Если функция вычисления дайджеста включена (см. on), метод вызывает update для связанного с этим потоком дайджеста сообщения, передавая ему данные.
Переопределяет:
read в классе FilterInputStream
Параметры:
b — массив, в который считываются данные.
off — начальное смещение в b, с которого следует поместить данные.
len — максимальное количество байтов, считываемых из входного потока в b, начиная со смещения off.
Возвращает:
фактическое количество считанных байтов. Оно меньше len, если конец потока достигнут до считывания len байтов. Если при вызове метода конец потока уже был достигнут и ни одного байта не считано, возвращается значение -1.
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода.
См. также:
  • MessageDigest.update(byte[], int, int)

on

public void on(boolean on)
Включает или выключает функцию вычисления дайджеста. По умолчанию она включена. Когда функция включена, вызов одного из методов read приводит к обновлению дайджеста сообщения. Когда функция выключена, дайджест сообщения не обновляется.
Параметры:
on — true, чтобы включить функцию вычисления дайджеста, false, чтобы выключить ее.

toString

public String toString()
Выводит строковое представление этого потока ввода дайджеста и связанного с ним объекта дайджеста сообщения.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/DigestInputStream.html

Spec-Zone.ru

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