JavaTM Platform
Standard Ed. 6

javax.crypto
クラス CipherInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.FilterInputStream
          上位を拡張 javax.crypto.CipherInputStream
すべての実装されたインタフェース:
Closeable

public class CipherInputStream
extends FilterInputStream

CipherInputStream は InputStream と Cipher で構成されているので、read() メソッドは基本となる InputStream から読み込まれたデータを返しますが、Cipher により追加の処理が行われています。Cipher は、完全に初期化してからでないと、CipherInputStream で使用できません。  

たとえば、Cipher が復号化用に初期化されていると、CipherInputStream は、復号化されたデータを返す前に、データを読み込んで復号化しようとします。  

このクラスは、上位クラス java.io.FilterInputStream および java.io.InputStream のセマンティクス、特に失敗セマンティクスに厳密に従います。このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。さらに、このクラスは、上位クラスがスローしない例外をすべてキャッチします。特に、skip メソッドはスキップを行い、available メソッドはカプセル化された Cipher により処理されたデータだけをカウントします。  

このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド (新しいメソッドや、あとでスーパークラスの 1 つに追加されるコンストラクタなど) を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherInputStream に関するセキュリティー上の影響が考慮されていない可能性があるためです。

導入されたバージョン:
1.4
関連項目:
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
 

コンストラクタの詳細

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
この入力ストリームからデータの次のバイトを読み込みます。値のバイトは、0255 の範囲の int として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、値 -1 が返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。

オーバーライド:
クラス FilterInputStream 内の read
戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2
関連項目:
FilterInputStream.in

read

public int read(byte[] b)
         throws IOException
最大 b.length バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。

InputStreamread メソッドは、引数 b0、および b.length を指定して 3 つの引数をとる read メソッドを呼び出します。

オーバーライド:
クラス FilterInputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2
関連項目:
InputStream.read(byte[], int, int)

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
最大 len バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。最初の引数が null, の場合は、len までのバイトが読み込まれたあと廃棄されます。

オーバーライド:
クラス FilterInputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
off - 転送先の配列 buf 内での開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2
関連項目:
InputStream.read()

skip

public long skip(long n)
          throws IOException
ブロックせずにこの入力ストリームから読み込むことができるバイトから n バイトの入力をスキップします。  

スキップされるバイトが要求されたバイトより少ない場合があります。実際にスキップされたバイト数は、n または available を呼び出した結果のうち小さい方です。n がゼロより小さい場合、バイトはスキップされません。  

スキップされた実際のバイト数が返されます。

オーバーライド:
クラス FilterInputStream 内の skip
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2

available

public int available()
              throws IOException
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。InputStreamavailable メソッドは 0 を返します。サブクラスはこのメソッドをオーバーライドする必要があります

オーバーライド:
クラス FilterInputStream 内の available
戻り値:
ブロックしないで入力ストリームから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2

close

public void close()
           throws IOException
この入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。

CipherInputStreamclose メソッドが、基本となる入力ストリームの close メソッドを呼び出します。

定義:
インタフェース Closeable 内の close
オーバーライド:
クラス FilterInputStream 内の close
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JCE1.2
関連項目:
FilterInputStream.in

markSupported

public boolean markSupported()
この入力ストリームが、mark メソッドと reset メソッドをサポートしているかどうかを判定します。これらのメソッドはサポートされていません。

オーバーライド:
クラス FilterInputStream 内の markSupported
戻り値:
このクラスは mark メソッドと reset メソッドをサポートしていないので、false
導入されたバージョン:
JCE1.2
関連項目:
InputStream.mark(int), InputStream.reset()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。