Класс 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
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 1993, 2023, 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/21/docs/api/java.base/java/security/DigestInputStream.html