Spec-Zone.ru › OpenJDK 27

Класс DigestOutputStream

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

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

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

Начиная с версии:
1.2
См. также:
  • MessageDigest
  • DigestInputStream

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

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

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

out
Модификатор и тип Поле Описание
protected OutputStream out
Базовый выходной поток для фильтрации.

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

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

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

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

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

close, flush, write
Модификатор и тип Метод Описание
void close()
Закрывает этот выходной поток и освобождает все системные ресурсы, связанные с ним.
void flush()
Сбрасывает буфер этого выходного потока и принудительно записывает все буферизованные байты в поток.
void write(byte[] b)
Записывает b.length байтов в этот выходной поток.

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

nullOutputStream
Модификатор и тип Метод Описание
static OutputStream nullOutputStream()
Возвращает новый OutputStream, который отбрасывает все байты.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать до тех пор, пока он не будет пробужден, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать до тех пор, пока он не будет пробужден, обычно посредством уведомления или прерывания, либо пока не истечет заданное время.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до тех пор, пока он не будет пробужден, обычно посредством уведомления или прерывания, либо пока не истечет заданное время.

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

digest

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

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

DigestOutputStream

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

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

getMessageDigest

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

setMessageDigest

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

write

public void write(int b) throws IOException
Обновляет дайджест сообщения (если функция вычисления дайджеста включена) с использованием указанного байта и в любом случае записывает байт в выходной поток. То есть, если функция вычисления дайджеста включена (см. on), этот метод вызывает update для дайджеста сообщения, связанного с этим потоком, передавая ему байт b. Затем этот метод записывает байт в выходной поток, блокируя выполнение до фактической записи байта.
Переопределяет:
write в классе FilterOutputStream
Параметры:
b — байт, используемый для обновления дайджеста и записи в выходной поток.
Исключения:
IOException — если произошла ошибка ввода-вывода.
См. также:
  • MessageDigest.update(byte)

write

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

on

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

toString

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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