public class DigestOutputStream
extends FilterOutputStream
java.lang.Object | |||
↳ | java.io.OutputStream | ||
↳ | java.io.FilterOutputStream | ||
↳ | java.security.DigestOutputStream |
一个透明的流,使用通过流的位来更新关联的消息摘要。
要完成消息摘要计算,则需要调用一个 digest
方法对相关消息的调用的此摘要输出流的一个消化后 write
方法。
可以打开或关闭此流(请参阅on
)。 打开时,调用其中一个write
方法会导致消息摘要更新。 但是当它关闭时,消息摘要不会更新。 默认值是打开流。
也可以看看:
Fields |
|
---|---|
protected MessageDigest |
digest 与此流关联的消息摘要。 |
Inherited fields |
---|
From class java.io.FilterOutputStream
|
Public constructors |
|
---|---|
DigestOutputStream(OutputStream stream, MessageDigest digest) 使用指定的输出流和消息摘要创建摘要输出流。 |
Public methods |
|
---|---|
MessageDigest |
getMessageDigest() 返回与此流关联的消息摘要。 |
void |
on(boolean on) 打开或关闭摘要功能。 |
void |
setMessageDigest(MessageDigest digest) 将指定的消息摘要与此流关联。 |
String |
toString() 打印此摘要输出流及其关联的消息摘要对象的字符串表示形式。 |
void |
write(byte[] b, int off, int len) 使用指定的子数组更新消息摘要(如果摘要函数处于打开状态),并在任何情况下将子数组写入输出流。 |
void |
write(int b) 使用指定的字节更新消息摘要(如果摘要函数处于打开状态),并且在任何情况下都将该字节写入输出流。 |
Inherited methods |
|
---|---|
From class java.io.FilterOutputStream
|
|
From class java.io.OutputStream
|
|
From class java.lang.Object
|
|
From interface java.io.Closeable
|
|
From interface java.io.Flushable
|
|
From interface java.lang.AutoCloseable
|
DigestOutputStream (OutputStream stream, MessageDigest digest)
使用指定的输出流和消息摘要创建摘要输出流。
Parameters | |
---|---|
stream |
OutputStream : the output stream. |
digest |
MessageDigest : the message digest to associate with this stream. |
MessageDigest getMessageDigest ()
返回与此流关联的消息摘要。
Returns | |
---|---|
MessageDigest |
the message digest associated with this stream. |
void on (boolean on)
打开或关闭摘要功能。 默认打开。 打开时,调用其中一个write
方法会导致消息摘要更新。 但是当它关闭时,消息摘要不会更新。
Parameters | |
---|---|
on |
boolean : true to turn the digest function on, false to turn it off. |
void setMessageDigest (MessageDigest digest)
将指定的消息摘要与此流关联。
Parameters | |
---|---|
digest |
MessageDigest : the message digest to be associated with this stream. |
也可以看看:
String toString ()
打印此摘要输出流及其关联的消息摘要对象的字符串表示形式。
Returns | |
---|---|
String |
a string representation of the object. |
void write (byte[] b, int off, int len)
使用指定的子数组更新消息摘要(如果摘要函数处于打开状态),并在任何情况下将子数组写入输出流。 也就是说,如果摘要功能开启(见on
),则此方法在与此流关联的消息摘要上调用update
,并将其传递给子阵列规范。 然后,此方法将子数组的字节写入输出流,直到实际写入字节为止。
Parameters | |
---|---|
b |
byte : the array containing the subarray to be used for updating and writing to the output stream. |
off |
int : the offset into b of the first byte to be updated and written. |
len |
int : the number of bytes of data to be updated and written from b , starting at offset off . |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
也可以看看:
void write (int b)
使用指定的字节更新消息摘要(如果摘要函数处于打开状态),并且在任何情况下都将该字节写入输出流。 也就是说,如果摘要功能开启(参见on
),则此方法在与此流关联的消息摘要上调用update
,并将字节b
传递给它。 然后,该方法将该字节写入输出流,直到实际写入字节为止。
Parameters | |
---|---|
b |
int : the byte to be used for updating and writing to the output stream. |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
也可以看看: