Most visited

Recently visited

Added in API level 1

CipherOutputStream

public class CipherOutputStream
extends FilterOutputStream

java.lang.Object
   ↳ java.io.OutputStream
     ↳ java.io.FilterOutputStream
       ↳ javax.crypto.CipherOutputStream


CipherOutputStream由OutputStream和Cipher组成,以便write()方法在将数据写出到底层OutputStream之前首先处理数据。 密码必须在被CipherOutputStream使用之前完全初始化。

例如,如果密码初始化为加密,则CipherOutputStream将在写出加密数据之前尝试加密数据。

该类严格遵守其祖先类java.io.OutputStream和java.io.FilterOutputStream的语义,特别是失败语义。 该类完全具有在其祖先类中指定的方法,并覆盖它们全部。 而且,这个类捕获所有祖先类不抛出的异常。

使用这个类的程序员不要使用未在此类中定义或重写的方法(例如稍后将其添加到其中一个超类中的新方法或构造函数),这是非常重要的,因为这些方法的设计和实现不太可能考虑对CipherOutputStream的安全影响。

也可以看看:

Summary

Inherited fields

From class java.io.FilterOutputStream

Public constructors

CipherOutputStream(OutputStream os, Cipher c)

从OutputStream和Cipher构造一个CipherOutputStream。

Protected constructors

CipherOutputStream(OutputStream os)

从OutputStream构造一个CipherOutputStream而不指定密码。

Public methods

void close()

关闭此输出流并释放与此流关联的所有系统资源。

void flush()

通过强制所有已被封装密码对象处理的缓冲输出字节被写出来刷新该输出流。

void write(byte[] b)

将指定字节数组中的 b.length个字节写入此输出流。

void write(byte[] b, int off, int len)

len字节从指定的字节数组开始偏移量 off写入此输出流。

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

Public constructors

CipherOutputStream

Added in API level 1
CipherOutputStream (OutputStream os, 
                Cipher c)

从OutputStream和Cipher构造一个CipherOutputStream。
注意:如果指定的输出流或密码为空,则在使用它们时可能会抛出NullPointerException。

Parameters
os OutputStream: the OutputStream object
c Cipher: an initialized Cipher object

Protected constructors

CipherOutputStream

Added in API level 1
CipherOutputStream (OutputStream os)

从OutputStream构造一个CipherOutputStream而不指定密码。 这具有使用NullCipher构造CipherOutputStream的效果。
注意:如果指定的输出流为null,则在使用NullPointerException时可能会稍后抛出它。

Parameters
os OutputStream: the OutputStream object

Public methods

close

Added in API level 1
void close ()

关闭此输出流并释放与此流关联的所有系统资源。

此方法调用封装密码对象的doFinal方法,这会导致处理由封装密码缓冲的任何字节。 通过调用此输出流的flush方法写出结果。

此方法重置封装的密码对象到其初始状态并调用 close基础输出流的方法。

Throws
IOException if an I/O error occurs.

flush

Added in API level 1
void flush ()

通过强制所有已被封装密码对象处理的缓冲输出字节被写出来刷新该输出流。

封装密码缓冲的任何字节并等待其处理,不会被写出。 例如,如果封装密码是分组密码,并且使用write方法之一写入的总字节数小于密码的分组大小,则不会写出字节。

Throws
IOException if an I/O error occurs.

write

Added in API level 1
void write (byte[] b)

b.length字节从指定的字节数组写入此输出流。

write的方法 CipherOutputStream调用 write的三个参数与三个参数的方法 b0 ,并 b.length

Parameters
b byte: the data.
Throws
NullPointerException if b is null.
IOException if an I/O error occurs.

也可以看看:

write

Added in API level 1
void write (byte[] b, 
                int off, 
                int len)

len字节从指定的字节数组开始,偏移量为 off写入此输出流。

Parameters
b byte: the data.
off int: the start offset in the data.
len int: the number of bytes to write.
Throws
IOException if an I/O error occurs.

write

Added in API level 1
void write (int b)

将指定的字节写入此输出流。

Parameters
b int: the byte.
Throws
IOException if an I/O error occurs.

Hooray!