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, write
protected 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将其关闭。