- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.security.DigestInputStream
-
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
public class DigestInputStream extends FilterInputStream
ストリームを通過するビットを使用して、関連したメッセージ・ダイジェストを更新する透明なストリームです。メッセージ・ダイジェストの計算を完了するには、このダイジェスト入力ストリームの
read
メソッドの1つを呼び出したあと、関連したメッセージ・ダイジェストに対してdigest
メソッドの1つを呼び出します。このストリームをオンまたはオフにすることができます(
on
を参照)。 オンの場合、read
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。 ストリームに対するデフォルトはオンです。ダイジェスト・オブジェクトはダイジェスト(
MessageDigest
を参照してください)を1つのみコンピュートできるので、中間ダイジェストをコンピュートするには、呼び出し元がダイジェスト・オブジェクトにハンドルを保持し、ダイジェストごとにクローンを作成して元のダイジェストをそのまま残しておく必要があります。- 導入されたバージョン:
- 1.2
- 関連項目:
MessageDigest
,DigestOutputStream
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected MessageDigest
digest
このストリームに関連したメッセージ・ダイジェストです。-
クラス java.io.FilterInputStreamで宣言されたフィールド
in
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DigestInputStream(InputStream stream, MessageDigest digest)
指定された入力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを入力するストリームを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 MessageDigest
getMessageDigest()
このストリームに関連したメッセージ・ダイジェストを返します。void
on(boolean on)
ダイジェスト機能をオンまたはオフにします。int
read()
1バイトを読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。int
read(byte[] b, int off, int len)
バイト配列に読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。void
setMessageDigest(MessageDigest digest)
指定されたメッセージ・ダイジェストをこのストリームに関連付けます。String
toString()
このダイジェスト入力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。-
クラス java.io.FilterInputStreamで宣言されたメソッド
available, close, mark, markSupported, read, reset, skip
-
クラス java.io.InputStreamで宣言されたメソッド
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
フィールドの詳細
-
digest
protected MessageDigest digest
このストリームに関連したメッセージ・ダイジェストです。
-
-
コンストラクタの詳細
-
DigestInputStream
public DigestInputStream(InputStream stream, MessageDigest digest)
指定された入力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを入力するストリームを作成します。- パラメータ:
stream
- 入力ストリーム。digest
- このストリームに関連させるメッセージ・ダイジェスト。
-
-
メソッドの詳細
-
getMessageDigest
public MessageDigest getMessageDigest()
このストリームに関連したメッセージ・ダイジェストを返します。- 戻り値:
- このストリームに関連したメッセージ・ダイジェスト。
- 関連項目:
setMessageDigest(java.security.MessageDigest)
-
setMessageDigest
public void setMessageDigest(MessageDigest digest)
指定されたメッセージ・ダイジェストをこのストリームに関連付けます。- パラメータ:
digest
- このストリームに関連したメッセージ・ダイジェスト。- 関連項目:
getMessageDigest()
-
read
public int read() throws IOException
1バイトを読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。 すなわち、このメソッドは入力ストリームから1バイトを読み込み、実際にそのバイトの読込みが終了するまで次のデータの読込みを停止します。 ダイジェスト機能がオン(on
を参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdate
を呼び出し、読み込まれたバイトを渡します。- オーバーライド:
read
、クラスFilterInputStream
- 戻り値:
- 読み込まれるバイト。
- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
MessageDigest.update(byte)
-
read
public int read(byte[] b, int off, int len) throws IOException
バイト配列に読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。 すなわち、このメソッドは、入力ストリームから配列b
の中に、オフセットoff
から開始してlen
バイトまで読み込みます。 このメソッドは、データが実際に読み込まれるまで、次に読み込むのを停止します。 ダイジェスト機能がオン(on
を参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdate
を呼び出し、読み込んだデータを渡します。- オーバーライド:
read
、クラスFilterInputStream
- パラメータ:
b
- データを中に読み込む配列。off
-b
の中にデータを配置する、配列の開始オフセット。len
- オフセットoff
から開始して、入力ストリームからbの中に読み込むバイトの最大数。- 戻り値:
- 実際に読み込んだバイト数。
len
バイトを読み込む前にストリームの最後に到達した場合には、読み込んだバイト数はlen
より小さくなる。この呼出しを行った時点ですでにストリームの最後に到達しているため、1バイトも読み込まれなかった場合には -1が返される。 - 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
MessageDigest.update(byte[], int, int)
-
on
public void on(boolean on)
ダイジェスト機能をオンまたはオフにします。 デフォルトはオンです。 オンの場合、read
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。- パラメータ:
on
- ダイジェスト機能をオンにする場合はtrue、オフにする場合はfalse。
-
-