Класс 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 |
Связанный с этим потоком дайджест сообщения. |
Поля, объявленные в классе java.io.FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DigestInputStream |
Создаёт поток дайджеста, используя указанный входной поток и дайджест сообщения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MessageDigest |
getMessageDigest() |
Возвращает связанный с этим потоком дайджест сообщения. |
void |
on |
Включает или выключает функцию дайджеста. |
int |
read() |
Считывает байт и обновляет дайджест сообщения (если функция дайджеста включена). |
int |
read |
Считывает в массив байтов и обновляет дайджест сообщения (если функция дайджеста включена). |
void |
setMessageDigest |
Связывает указанный дайджест сообщения с этим потоком. |
String |
toString() |
Выводит строковое представление этого потока дайджеста и связанного с ним объекта дайджеста сообщения. |
Методы, объявленные в классе java.io.FilterInputStream
available, close, mark, markSupported, read, reset, skip
Методы, объявленные в классе java.io.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
len байтов из входного потока в массив b, начиная с смещения 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/DigestInputStream.html