Класс DigestInputStream
- Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class DigestInputStream extends FilterInputStream
Чтобы завершить вычисление дайджеста сообщения, вызовите один из методов digest связанного дайджеста сообщения после вызовов одного из методов read этого потока ввода дайджеста.
Этот поток можно включать и выключать (см. on). Когда поток включен, вызов одного из методов read приводит к обновлению дайджеста сообщения. Когда поток выключен, дайджест сообщения не обновляется. По умолчанию поток включен.
Обратите внимание, что объекты дайджеста могут вычислить только один дайджест (см. MessageDigest), поэтому для вычисления промежуточных дайджестов вызывающему коду следует сохранить ссылку на объект дайджеста и клонировать его для каждого вычисляемого дайджеста, оставляя исходный дайджест неизменным.
- Примечание по реализации:
- Эта реализация обновляет дайджест сообщения только данными, фактически прочитанными из входного потока, когда он включен. Это относится к различным методам
read,transferTo,readAllBytesиreadNBytes. Обратите внимание, что данные, пропущенные методомskip, игнорируются. С другой стороны, если базовый поток поддерживает методыmarkиreset, и те же данные считываются снова послеreset, дайджест сообщения обновляется повторно. - С версии:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected MessageDigest |
digest |
Дайджест сообщения, связанный с этим потоком. |
Поля, объявленные в классе FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DigestInputStream |
Создает поток ввода дайджеста, используя указанные входной поток и дайджест сообщения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MessageDigest |
getMessageDigest() |
Возвращает дайджест сообщения, связанный с этим потоком. |
void |
on |
Включает или выключает функцию вычисления дайджеста. |
int |
read() |
Считывает байт и обновляет дайджест сообщения (если функция вычисления дайджеста включена). |
int |
read |
Считывает данные в массив байтов и обновляет дайджест сообщения (если функция вычисления дайджеста включена). |
void |
setMessageDigest |
Связывает указанный дайджест сообщения с этим потоком. |
String |
toString() |
Выводит строковое представление этого потока ввода дайджеста и связанного с ним объекта дайджеста сообщения. |
Методы, объявленные в классе FilterInputStream
available, close, mark, markSupported, read, reset, skip
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
digest
protected MessageDigest digest
Подробное описание конструкторов
DigestInputStream
public DigestInputStream(InputStream stream, MessageDigest digest)
- Параметры:
-
stream— входной поток. -
digest— дайджест сообщения, который нужно связать с этим потоком.
Подробное описание методов
getMessageDigest
public MessageDigest getMessageDigest()
- Возвращает:
- дайджест сообщения, связанный с этим потоком.
- См. также:
setMessageDigest
public void setMessageDigest(MessageDigest digest)
- Параметры:
-
digest— дайджест сообщения, который нужно связать с этим потоком. - См. также:
read
public int read() throws IOException
on), метод вызывает update для связанного с этим потоком дайджеста сообщения, передавая ему считанный байт.- Переопределяет:
-
readв классеFilterInputStream - Возвращает:
- считанный байт.
- Вызывает исключение:
-
IOException— если произошла ошибка ввода-вывода. - См. также:
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— если произошла ошибка ввода-вывода. - См. также:
on
public void on(boolean on)
read приводит к обновлению дайджеста сообщения. Когда функция выключена, дайджест сообщения не обновляется.- Параметры:
-
on—true, чтобы включить функцию вычисления дайджеста,false, чтобы выключить ее.
toString
© 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