public class CipherInputStream extends FilterInputStream
たとえば、Cipherが復号化用に初期化されていると、CipherInputStreamは、復号化されたデータを返す前に、データを読み込んで復号化しようとします。
このクラスは、上位クラスjava.io.FilterInputStreamおよびjava.io.InputStreamのセマンティックス、特に失敗セマンティックスに厳密に従います。このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。さらに、このクラスは、上位クラスがスローしない例外をすべてキャッチします。特に、skip
メソッドはスキップを行い、available
メソッドはカプセル化されたCipherにより処理されたデータだけをカウントします。
このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド(あとでスーパー・クラスのいずれかに追加された新しいメソッドやコンストラクタなど)を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherInputStreamに関するセキュリティ上の影響が考慮されていない可能性があるためです。
InputStream
, FilterInputStream
, Cipher
, CipherOutputStream
in
修飾子 | コンストラクタと説明 |
---|---|
protected |
CipherInputStream(InputStream is)
InputStreamからCipherを指定しないでCipherInputStreamを構築します。
|
|
CipherInputStream(InputStream is, Cipher c)
InputStreamおよびCipherからCipherInputStreamを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
int |
available()
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。
|
void |
close()
この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
|
boolean |
markSupported()
この入力ストリームが
mark およびreset メソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。 |
int |
read()
この入力ストリームからデータの次のバイトを読み込みます。
|
int |
read(byte[] b)
最大
b.length バイトのデータを、この入力ストリームからバイト配列に読み込みます。 |
int |
read(byte[] b, int off, int len)
最大
len バイトのデータを、この入力ストリームからバイト配列に読み込みます。 |
long |
skip(long n)
ブロックせずにこの入力ストリームから読み込むことができるバイトから
n バイトの入力をスキップします。 |
mark, reset
public CipherInputStream(InputStream is, Cipher c)
is
- 処理される入力ストリームc
- 初期化されたCipherオブジェクトprotected CipherInputStream(InputStream is)
is
- 処理される入力ストリームpublic int read() throws IOException
0
- 255
の範囲のint
として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、-1
が返されます。入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。
read
、クラス: FilterInputStream
-1
。IOException
- 入出力エラーが発生した場合。FilterInputStream.in
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)
public int read(byte[] b, int off, int len) throws IOException
len
バイトのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。最初の引数がnull
の場合は、len
までのバイトが読み込まれたあと廃棄されます。read
、クラス: FilterInputStream
b
- データの読込み先のバッファ。off
- 転送先配列の開始オフセットbuf
len
- 読み込まれる最大バイト数。-1
。IOException
- 入出力エラーが発生した場合。InputStream.read()
public long skip(long n) throws IOException
n
バイトの入力をスキップします。
スキップされるバイトが要求されたバイトより少ない場合があります。実際にスキップされたバイト数は、n
またはavailable
を呼び出した結果のうち小さい方です。n
がゼロより小さい場合、バイトはスキップされません。
スキップされた実際のバイト数が返されます。
skip
、クラス: FilterInputStream
n
- スキップされるバイト数。IOException
- 入出力エラーが発生した場合。public int available() throws IOException
InputStream
のavailable
メソッドは0
を返します。サブクラスはこのメソッドをオーバーライドする必要があります。available
、クラス: FilterInputStream
IOException
- 入出力エラーが発生した場合。public void close() throws IOException
CipherInputStream
のclose
メソッドはそのベースとなる入力ストリームのclose
メソッドを呼び出します。
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: FilterInputStream
IOException
- 入出力エラーが発生した場合。FilterInputStream.in
public boolean markSupported()
mark
およびreset
メソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。markSupported
、クラス: FilterInputStream
mark
メソッドとreset
メソッドをサポートしていないので、false
。InputStream.mark(int)
, InputStream.reset()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.