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