public class DigestOutputStream extends FilterOutputStream
要完成消息摘要计算,则需要调用一个digest方法对相关消息的调用此摘要输出流的一个消化后write种方法。
可以打开或关闭此流(参见on )。 当它打开时,调用write方法之一会导致消息摘要的更新。 但是当它关闭时,消息摘要不会更新。 默认值为流启用。
MessageDigest , DigestInputStream
| Modifier and Type | Field and Description |
|---|---|
protected MessageDigest |
digest
与此流相关联的消息摘要。
|
out| Constructor and Description |
|---|
DigestOutputStream(OutputStream stream, MessageDigest digest)
使用指定的输出流和消息摘要创建摘要输出流。
|
| Modifier and Type | Method and Description |
|---|---|
MessageDigest |
getMessageDigest()
返回与此流相关联的消息摘要。
|
void |
on(boolean on)
打开或关闭摘要功能。
|
void |
setMessageDigest(MessageDigest digest)
将指定的消息摘要与此流相关联。
|
String |
toString()
打印此摘要输出流及其相关消息摘要对象的字符串表示形式。
|
void |
write(byte[] b, int off, int len)
使用指定的子阵列更新消息摘要(如果摘要功能打开),并且无论如何将子阵列写入输出流。
|
void |
write(int b)
使用指定的字节更新消息摘要(如果摘要功能打开),并且无论如何将该字节写入输出流。
|
close, flush, writeprotected MessageDigest digest
public DigestOutputStream(OutputStream stream, MessageDigest digest)
stream - 输出流。
digest - 与此流
digest的消息摘要。
public MessageDigest getMessageDigest()
setMessageDigest(java.security.MessageDigest)
public void setMessageDigest(MessageDigest digest)
digest - 要与此流
digest的消息摘要。
getMessageDigest()
public void write(int b)
throws IOException
on ),此方法调用update与此流相关update的消息摘要,传递其字节b 。
该方法然后将字节写入输出流,阻塞直到字节实际写入。
write在类别
FilterOutputStream
b - 要用于更新和写入输出流的字节。
IOException - 如果发生I / O错误。
MessageDigest.update(byte)
public void write(byte[] b,
int off,
int len)
throws IOException
on ),此方法调用update与此流相关update的消息摘要,并传递子数组规范。
然后,该方法将子阵列字节写入输出流,阻塞直到字节实际写入。
write在类别
FilterOutputStream
b - 包含用于更新和写入输出流的子阵列的数组。
off - 要更新和写入的第一个字节的偏移量为
b 。
len - 要从
b更新和写入的数据的字节数,从偏移
off开始。
IOException - 如果发生I / O错误。
MessageDigest.update(byte[], int, int)
public void on(boolean on)
write方法之一会导致消息摘要的更新。
但是当它关闭时,消息摘要不会更新。
on - true打开摘要功能,false将其关闭。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.