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
- 関連項目:
- 
フィールドのサマリーフィールドクラス java.io.FilterInputStreamで宣言されたフィールドin
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明DigestInputStream(InputStream stream, MessageDigest digest) 指定された入力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを入力するストリームを作成します。
- 
メソッドのサマリー修飾子と型メソッド説明このストリームに関連したメッセージ・ダイジェストを返します。voidon(boolean on) ダイジェスト機能をオンまたはオフにします。intread()1バイトを読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。intread(byte[] b, int off, int len) バイト配列に読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。voidsetMessageDigest(MessageDigest digest) 指定されたメッセージ・ダイジェストをこのストリームに関連付けます。toString()このダイジェスト入力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。クラス java.io.FilterInputStreamで宣言されたメソッドavailable, close, mark, markSupported, read, reset, skipクラス java.io.InputStreamで宣言されたメソッドnullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
- 
フィールド詳細- 
digestprotected MessageDigest digestこのストリームに関連したメッセージ・ダイジェストです。
 
- 
- 
コンストラクタの詳細- 
DigestInputStreampublic DigestInputStream(InputStream stream, MessageDigest digest) 指定された入力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを入力するストリームを作成します。- パラメータ:
- stream- 入力ストリーム。
- digest- このストリームに関連させるメッセージ・ダイジェスト。
 
 
- 
- 
メソッドの詳細- 
getMessageDigestpublic MessageDigest getMessageDigest()このストリームに関連したメッセージ・ダイジェストを返します。- 戻り値:
- このストリームに関連したメッセージ・ダイジェスト。
- 関連項目:
 
- 
setMessageDigestpublic void setMessageDigest(MessageDigest digest) 指定されたメッセージ・ダイジェストをこのストリームに関連付けます。- パラメータ:
- digest- このストリームに関連したメッセージ・ダイジェスト。
- 関連項目:
 
- 
readpublic int read() throws IOException1バイトを読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。 すなわち、このメソッドは入力ストリームから1バイトを読み込み、実際にそのバイトの読込みが終了するまで次のデータの読込みを停止します。 ダイジェスト機能がオン(onを参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdateを呼び出し、読み込まれたバイトを渡します。- オーバーライド:
- read、クラス- FilterInputStream
- 戻り値:
- 読み込まれるバイト。
- 例外:
- IOException- 入出力エラーが発生した場合。
- 関連項目:
 
- 
readpublic 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- 入出力エラーが発生した場合。
- 関連項目:
 
- 
onpublic void on(boolean on) ダイジェスト機能をオンまたはオフにします。 デフォルトはオンです。 オンの場合、readメソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。- パラメータ:
- on- ダイジェスト機能をオンにする場合はtrue、オフにする場合はfalse。
 
- 
toStringpublic String toString()このダイジェスト入力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。
 
-