public class DigestInputStream extends FilterInputStream
メッセージ・ダイジェストの計算を完了するには、このダイジェスト入力ストリームのread
メソッドの1つを呼び出したあと、関連したメッセージ・ダイジェストに対してdigest
メソッドの1つを呼び出します。
このストリームをオンまたはオフにすることができます(on
を参照)。オンの場合、read
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。ただし、オフの場合にはメッセージ・ダイジェストは更新されません。ストリームに対するデフォルトはオンです。
ダイジェスト・オブジェクトは、ダイジェストを1つしか計算できないので(MessageDigest
を参照)、中間的なダイジェストを計算するには、呼出し側がそのダイジェスト・オブジェクトに対するハンドルを維持し、各計算対象のダイジェストに対して複製を生成し、元のダイジェストをそのままにしておく必要があることに注意してください。
MessageDigest
, DigestOutputStream
修飾子と型 | フィールドと説明 |
---|---|
protected MessageDigest |
digest
このストリームに関連したメッセージ・ダイジェストです。
|
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()
このダイジェスト入力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。
|
available, close, mark, markSupported, read, reset, skip
protected MessageDigest digest
public DigestInputStream(InputStream stream, MessageDigest digest)
stream
- 入力ストリーム。digest
- このストリームに関連させるメッセージ・ダイジェスト。public MessageDigest getMessageDigest()
setMessageDigest(java.security.MessageDigest)
public void setMessageDigest(MessageDigest digest)
digest
- このストリームに関連したメッセージ・ダイジェスト。getMessageDigest()
public int read() throws IOException
on
を参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdate
を呼び出し、読み込まれたバイトを渡します。read
、クラス: FilterInputStream
IOException
- 入出力エラーが発生した場合。MessageDigest.update(byte)
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)
public void on(boolean on)
read
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。ただし、オフの場合にはメッセージ・ダイジェストは更新されません。on
- ダイジェスト機能をオンにする場合はtrue、オフにする場合はfalse。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.