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, 2013, Oracle and/or its affiliates. All rights reserved.