- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- javax.crypto.CipherInputStream
-
- すべての実装されたインタフェース:
Closeable,AutoCloseable
public class CipherInputStream extends FilterInputStream
CipherInputStreamはInputStreamとCipherで構成されているので、read()メソッドは基本となるInputStreamから読み込まれたデータを返しますが、Cipherにより追加の処理が行われています。 Cipherは、完全に初期化してからでないと、CipherInputStreamで使用できません。たとえば、Cipherが復号化用に初期化されていると、CipherInputStreamは、復号化されたデータを返す前に、データを読み込んで復号化しようとします。
このクラスは、上位クラスjava.io.FilterInputStreamおよびjava.io.InputStreamのセマンティックス、特に失敗セマンティックスに厳密に従います。 このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。 さらに、このクラスは、上位クラスがスローしない例外をすべてキャッチします。 特に、
skipメソッドはスキップを行い、availableメソッドはカプセル化されたCipherにより処理されたデータだけをカウントします。このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド(あとでスーパー・クラスのいずれかに追加された新しいメソッドやコンストラクタなど)を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherInputStreamに関するセキュリティ上の影響が考慮されていない可能性があるためです。
- 導入されたバージョン:
- 1.4
- 関連項目:
InputStream,FilterInputStream,Cipher,CipherOutputStream
-
-
フィールドのサマリー
-
クラス java.io.FilterInputStreamから継承されたフィールド
in
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedCipherInputStream(InputStream is)InputStreamからCipherを指定しないでCipherInputStreamを構築します。CipherInputStream(InputStream is, Cipher c)InputStreamおよびCipherからCipherInputStreamを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 intavailable()ブロックせずに入力ストリームから読み込むことができるバイト数を返します。voidclose()この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。booleanmarkSupported()この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。intread()この入力ストリームからデータの次のバイトを読み込みます。intread(byte[] b)最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。intread(byte[] b, int off, int len)最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。longskip(long n)ブロックせずにこの入力ストリームから読み込むことができるバイトからnバイトの入力をスキップします。-
クラス java.io.FilterInputStreamから継承されたメソッド
mark, reset
-
クラス java.io.InputStreamから継承されたメソッド
readAllBytes, readNBytes, transferTo
-
-
-
-
コンストラクタの詳細
-
CipherInputStream
public CipherInputStream(InputStream is, Cipher c)
InputStreamおよびCipherからCipherInputStreamを構築します。
注: 指定された入力ストリームまたは暗号がnullの場合は、それらの使用時にNullPointerExceptionがスローされる可能性があります。- パラメータ:
is- 処理される入力ストリームc- 初期化されたCipherオブジェクト
-
CipherInputStream
protected CipherInputStream(InputStream is)
InputStreamからCipherを指定しないでCipherInputStreamを構築します。 これは、NullCipherを使用してCipherInputStreamを構築する効果を持ちます。
注: 指定された入力ストリームがnullの場合は、それの使用時にNullPointerExceptionがスローされる可能性があります。- パラメータ:
is- 処理される入力ストリーム
-
-
メソッドの詳細
-
read
public int read() throws IOExceptionこの入力ストリームからデータの次のバイトを読み込みます。 バイト値は、0-255の範囲のintとして返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1が返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。- オーバーライド:
read、クラス:FilterInputStream- 戻り値:
- データの次のバイト。ストリームの終わりに達した場合は
-1。 - 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
read
public int read(byte[] b) throws IOException最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。InputStreamのreadメソッドは、引数b、0、およびb.lengthの3つの引数をとるreadメソッドを呼び出します。- オーバーライド:
read、クラス:FilterInputStream- パラメータ:
b- データの読込み先のバッファ。- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は
-1。 - 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
InputStream.read(byte[], int, int)
-
read
public int read(byte[] b, int off, int len) throws IOException最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。 このメソッドは、入力の一部が利用できるようになるまでブロックします。 最初の引数がnullの場合は、lenまでのバイトが読み込まれたあと廃棄されます。- オーバーライド:
read、クラス:FilterInputStream- パラメータ:
b- データの読込み先のバッファ。off- 転送先配列の開始オフセットbuflen- 読み込まれる最大バイト数。- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は
-1。 - 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
InputStream.read()
-
skip
public long skip(long n) throws IOExceptionブロックせずにこの入力ストリームから読み込むことができるバイトからnバイトの入力をスキップします。スキップされるバイトが要求されたバイトより少ない場合があります。 実際にスキップされたバイト数は、
nまたはavailableを呼び出した結果のうち小さい方です。nがゼロより小さい場合、バイトはスキップされません。スキップされた実際のバイト数が返されます。
- オーバーライド:
skip、クラス:FilterInputStream- パラメータ:
n- スキップされるバイト数。- 戻り値:
- 実際にスキップされたバイト数
- 例外:
IOException- 入出力エラーが発生した場合。
-
available
public int available() throws IOExceptionブロックせずに入力ストリームから読み込むことができるバイト数を返します。InputStreamのavailableメソッドは0を返します。 サブクラスはこのメソッドをオーバーライドする必要があります。- オーバーライド:
available、クラス:FilterInputStream- 戻り値:
- ブロックしないで入力ストリームから読み込むことができるバイト数
- 例外:
IOException- 入出力エラーが発生した場合。
-
close
public void close() throws IOExceptionこの入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。CipherInputStreamのcloseメソッドはそのベースとなる入力ストリームのcloseメソッドを呼び出します。- 定義:
close、インタフェース:AutoCloseable- 定義:
close、インタフェース:Closeable- オーバーライド:
close、クラス:FilterInputStream- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
markSupported
public boolean markSupported()
この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。- オーバーライド:
markSupported、クラス:FilterInputStream- 戻り値:
- このクラスは
markメソッドとresetメソッドをサポートしていないので、false。 - 関連項目:
InputStream.mark(int),InputStream.reset()
-
-