public class CipherOutputStream extends FilterOutputStream
たとえば、Cipherが暗号化用に初期化されていると、CipherOutputStreamは、暗号化されたデータを書き込む前に、データを暗号化しようとします。
このクラスは、上位クラスjava.io.OutputStreamおよびjava.io.FilterOutputStreamのセマンティックス、特に失敗セマンティックスに厳密に従います。このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。さらに、このクラスは、上位クラスがスローしない例外をすべてキャッチします。
このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド(あとでスーパー・クラスのいずれかに追加された新しいメソッドやコンストラクタなど)を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherOutputStreamに関するセキュリティ上の影響が考慮されていない可能性があるためです。
OutputStream
, FilterOutputStream
, Cipher
, CipherInputStream
out
修飾子 | コンストラクタと説明 |
---|---|
protected |
CipherOutputStream(OutputStream os)
OutputStreamからCipherを指定しないでCipherOutputStreamを構築します。
|
|
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)
指定されたバイトをこの出力ストリームに書き込みます。
|
public CipherOutputStream(OutputStream os, Cipher c)
os
- OutputStreamオブジェクトc
- 初期化されたCipherオブジェクトprotected CipherOutputStream(OutputStream os)
os
- OutputStreamオブジェクトpublic void write(int b) throws IOException
write
、クラス: FilterOutputStream
b
- byte
。IOException
- 入出力エラーが発生した場合。public void write(byte[] b) throws IOException
b.length
バイトをこの出力ストリームに書き込みます。
CipherOutputStream
のwrite
メソッドは、3つの引数b
、0
、およびb.length
を指定して3つの引数をとるwrite
メソッドを呼び出します。
write
、クラス: FilterOutputStream
b
- データ。NullPointerException
- b
がnullである場合。IOException
- 入出力エラーが発生した場合。write(byte[], int, int)
public void write(byte[] b, int off, int len) throws IOException
off
から始まるlen
バイトをこの出力ストリームに書き込みます。write
、クラス: FilterOutputStream
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。IOException
- 入出力エラーが発生した場合。FilterOutputStream.write(int)
public void flush() throws IOException
カプセル化された暗号によってバッファに格納され、処理されるのを待っているバイトは書き出されません。たとえば、カプセル化された暗号がブロック暗号であり、write
メソッドの1つを使用して書き込まれたバイト数の合計がその暗号のブロック・サイズより小さい場合、バイトは書き出されません。
flush
、インタフェース: Flushable
flush
、クラス: FilterOutputStream
IOException
- 入出力エラーが発生した場合。FilterOutputStream.out
public void close() throws IOException
このメソッドは、カプセル化された暗号オブジェクトによってバッファに格納されたすべてのバイトが処理されるようにする、カプセル化された暗号オブジェクトのdoFinal
メソッドを呼び出します。結果を書き出すには、この出力ストリームのflush
メソッドを呼び出します。
このメソッドは、カプセル化された暗号オブジェクトを初期状態にリセットして、基本となる出力ストリームのclose
メソッドを呼び出します。
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: FilterOutputStream
IOException
- 入出力エラーが発生した場合。FilterOutputStream.flush()
, FilterOutputStream.out
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.