|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
javax.crypto.CipherInputStream
public class CipherInputStream
CipherInputStream は InputStream と Cipher で構成されているので、read() メソッドは基本となる InputStream から読み込まれたデータを返しますが、Cipher により追加の処理が行われています。Cipher は、完全に初期化してからでないと、CipherInputStream で使用できません。
たとえば、Cipher が復号化用に初期化されていると、CipherInputStream は、復号化されたデータを返す前に、データを読み込んで復号化しようとします。
このクラスは、上位クラス java.io.FilterInputStream および java.io.InputStream のセマンティクス、特に失敗セマンティクスに厳密に従います。このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。さらに、このクラスは上位クラスでスローされないすべての例外をキャッチします。特に、skip メソッドはスキップを行い、available メソッドはカプセル化された Cipher により処理されたデータだけをカウントします。
このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド (新しいメソッドや、あとでスーパークラスの 1 つに追加されるコンストラクタなど) を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherInputStream に関するセキュリティ上の影響が考慮されていない可能性があるためです。
InputStream,
FilterInputStream,
Cipher,
CipherOutputStream| フィールドの概要 |
|---|
| クラス java.io.FilterInputStream から継承されたフィールド |
|---|
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 バイトの入力をスキップします。 |
| クラス java.io.FilterInputStream から継承されたメソッド |
|---|
mark, reset |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public CipherInputStream(InputStream is,
Cipher c)
is - 処理される入力ストリームc - 初期化された Cipher オブジェクトprotected CipherInputStream(InputStream is)
is - 処理される入力ストリーム| メソッドの詳細 |
|---|
public int read()
throws IOException
0 〜 255 の範囲の int として返されます。ストリームの終わりに達してバイトがない場合は、値 -1 が返されます。このメソッドは、入力データが読み込まれるようになるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
FilterInputStream 内の read-1
IOException - 入出力エラーが発生した場合FilterInputStream.in
public int read(byte[] b)
throws IOException
b.length バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。
InputStream の read メソッドは、引数 b、0、および b.length を指定して 3 つの引数をとる read メソッドを呼び出します。
FilterInputStream 内の readb - データの読み込み先のバッファ
-1
IOException - 入出力エラーが発生した場合InputStream.read(byte[], int, int)
public int read(byte[] b,
int off,
int len)
throws IOException
len バイトまでのデータをバイトの配列に読み込みます。このメソッドは、一部の入力データが得られるようになるまでブロックします。最初の引数が null の場合は、len までのバイトが読み込まれたあと廃棄されます。
FilterInputStream 内の readb - データの読み込み先のバッファoff - データの開始オフセットlen - 読み込まれる最大バイト数
-1
IOException - 入出力エラーが発生した場合InputStream.read()
public long skip(long n)
throws IOException
n バイトの入力をスキップします。
スキップされるバイトが要求されたバイトより少ない場合があります。実際にスキップされたバイト数は、n または を呼び出した結果のうち小さい方です。availablen がゼロより小さい場合、バイトはスキップされません。
実際にスキップされたバイト数が返されます。
FilterInputStream 内の skipn - スキップするバイト数
IOException - 入出力エラーが発生した場合
public int available()
throws IOException
InputStream の available メソッドは 0 を返します。このメソッドはサブクラスでオーバーライドする必要があります。
FilterInputStream 内の availableIOException - 入出力エラーが発生した場合FilterInputStream.in
public void close()
throws IOException
CipherInputStream の close メソッドが、基本となる入力ストリームの close メソッドを呼び出します。
Closeable 内の closeFilterInputStream 内の closeIOException - 入出力エラーが発生した場合FilterInputStream.inpublic boolean markSupported()
mark メソッドと reset メソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。
FilterInputStream 内の markSupportedmark メソッドと reset メソッドをサポートしていないので、falseInputStream.mark(int),
InputStream.reset()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。