|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.io.OutputStream
java.io.FilterOutputStream
javax.crypto.CipherOutputStream
public class CipherOutputStream
CipherOutputStream 由一个 OutputStream 和一个 Cipher 组成,这样 write() 方法才能在将数据写出到底层 OutputStream 之前先对该数据进行处理。在由 CipherOutputStream 使用之前,密码必须充分初始化。
例如,假设密码初始化为加密,CipherOutputStream 将在写出该加密数据之前,尝试加密数据。
此类严格遵守此语义,尤其是其祖先类 java.io.OutputStream 和 java.io.FilterOutputStream 的失败语义。此类具有在其祖先类中指定的所有方法,并且对所有的这些方法进行了重写。除此之外,此类还对其祖先类未抛出的所有异常进行捕获。
对程序员非常重要的一点是,不要使用未在此类中定义或重写的方法(例如,后来加入到某个超类的新方法或构造方法),因为那些方法的设计和实现有可能未考虑到对 CipherOutputStream 的安全影响。
OutputStream,
FilterOutputStream,
Cipher,
CipherInputStream| 字段摘要 |
|---|
| 从类 java.io.FilterOutputStream 继承的字段 |
|---|
out |
| 构造方法摘要 | |
|---|---|
protected |
CipherOutputStream(OutputStream os)
从 OutputStream 构造 CipherOutputStream,不指定 Cipher。 |
|
CipherOutputStream(OutputStream os,
Cipher c)
从 OutputStream 和 Cipher 构造 CipherOutputStream。 |
| 方法摘要 | |
|---|---|
void |
close()
关闭此输出流并释放任何与此流关联的系统资源。 |
void |
flush()
强制写出已由封装的密码对象处理的任何缓存输出字节来刷新此输出流。 |
void |
write(byte[] b)
从指定的字节数组中将 b.length 个字节写入此输出流。 |
void |
write(byte[] b,
int off,
int len)
将指定的字节数组中从 off 偏移量开始的 len 个字节写入此输出流。 |
void |
write(int b)
将指定的字节写入此输出流。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public CipherOutputStream(OutputStream os,
Cipher c)
os - OutputStream 对象c - 已初始化的 Cipher 对象protected CipherOutputStream(OutputStream os)
os - OutputStream 对象| 方法详细信息 |
|---|
public void write(int b)
throws IOException
FilterOutputStream 中的 writeb - byte。
IOException - 如果发生 I/O 错误。
public void write(byte[] b)
throws IOException
b.length 个字节写入此输出流。
CipherOutputStream 的 write 方法调用带三个参数的 write 方法,三个参数为 b、0 和 b.length。
FilterOutputStream 中的 writeb - 数据。
NullPointerException - 如果 b 为 null。
IOException - 如果发生 I/O 错误。write(byte[], int, int)
public void write(byte[] b,
int off,
int len)
throws IOException
off 偏移量开始的 len 个字节写入此输出流。
FilterOutputStream 中的 writeb - 数据。off - 数据中的初始偏移量。len - 要写入的字节数。
IOException - 如果发生 I/O 错误。FilterOutputStream.write(int)
public void flush()
throws IOException
由封装的密码缓存并等待由其处理的任何字节将不被写出。例如,假设封装的密码为块密码,并且使用某个 write 方法写入的总字节数小于密码的块大小,将不写出任何字节。
Flushable 中的 flushFilterOutputStream 中的 flushIOException - 如果发生 I/O 错误。FilterOutputStream.out
public void close()
throws IOException
此方法调用封装密码对象的 doFinal 方法,它使得由该封装密码缓存的任何字节都被处理。通过调用此输出流的 flush 方法写出结果。
此方法将封装密码对象重置为其初始状态并调用底层输出流的 close 方法。
Closeable 中的 closeFilterOutputStream 中的 closeIOException - 如果发生 I/O 错误。FilterOutputStream.flush(),
FilterOutputStream.out
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。