- 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 MessageDigestdigest与此流关联的消息摘要。-  
               
声明的属性在类 java.io.FilterOutputStream
out 
 -  
               
 
-  
             
构造方法摘要
构造方法 构造器 描述 DigestOutputStream(OutputStream stream, MessageDigest digest)使用指定的输出流和消息摘要创建摘要输出流。 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 MessageDigestgetMessageDigest()返回与此流关联的消息摘要。voidon(boolean on)打开或关闭摘要功能。voidsetMessageDigest(MessageDigest digest)将指定的消息摘要与此流关联。StringtoString()打印此摘要输出流及其关联的消息摘要对象的字符串表示形式。voidwrite(byte[] b, int off, int len)使用指定的子数组更新消息摘要(如果启用了摘要功能),并且无论如何都将子数组写入输出流。voidwrite(int b)使用指定的字节更新消息摘要(如果摘要功能打开),并且在任何情况下都将字节写入输出流。-  
               
声明方法的类 java.io.FilterOutputStream
close, flush, write 
-  
               
声明方法的类 java.io.OutputStream
nullOutputStream 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
字段详细信息
-  
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- 如果发生I / O错误。 - 另请参见:
 -  
              
MessageDigest.update(byte) 
 
-  
write
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) 
 
-  
on
public void on(boolean on)
打开或关闭摘要功能。 默认为打开。 当它打开时,对write方法之一的调用会导致消息摘要的更新。 但是当它关闭时,消息摘要不会更新。- 参数
 -  
              
on- 如果打开摘要功能,ontrue;如果将其关闭,onfalse。 
 
 -  
 
 -