|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.io.InputStream | +--java.io.FilterInputStream | +--java.security.DigestInputStream
ストリームを通過するビットを使用して、関連付けられたメッセージダイジェストを更新する透過的なストリームです。
メッセージダイジェストの計算を完了するには、このダイジェスト入力ストリームの read メソッドの 1 つを呼び出したあと、関連付けられたメッセージダイジェストに対して digest
メソッドの 1 つを呼び出します。
このストリームをオンまたはオフにすることができます (on を参照)。オンの場合、read
メソッドの 1 つを呼び出すと、メッセージダイジェストが更新されます。ただし、オフの場合には、メッセージダイジェストは更新されません。ストリームに対するデフォルトはオンです。
ダイジェストオブジェクトは、ダイジェストを 1 つしか計算できないので (MessageDigest
を参照)、中間的なダイジェストを計算するには、呼び出し側がそのダイジェストオブジェクトに対するハンドルを維持し、各計算対象のダイジェストに対して複製を生成し、元のダイジェストをそのままにしておく必要があることに注意してください。
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.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
フィールドの詳細 |
protected MessageDigest digest
コンストラクタの詳細 |
public DigestInputStream(InputStream stream, MessageDigest digest)
stream
- 入力ストリームdigest
- このストリームに関連付けられるメッセージダイジェストメソッドの詳細 |
public MessageDigest getMessageDigest()
public void setMessageDigest(MessageDigest digest)
digest
- このストリームに割り当てるメッセージダイジェストpublic int read() throws IOException
update
を呼び出し、読み込まれたバイトを渡します。MessageDigest.update(byte)
public int read(byte[] b, int off, int len) throws IOException
b
の中に、オフセット off
から開始して len
バイトまで読み込みます。このメソッドは、データが実際に読み込まれるまで、次に読み込むのを停止します。ダイジェスト機能がオン (on を参照) の場合には、このメソッドは、そのストリームに関連付けられたメッセージダイジェストに対して update
を呼び出し、読み込んだデータを渡します。b
- データを中に読み込む配列off
- b
の中にデータを配置する、配列の開始オフセットlen
- 入力ストリームから、オフセット off
から開始して b の中に読み込むバイトの最大数len
バイトを読み込む前にストリームの最後に到達した場合には、読み込んだバイト数は len
より小さくなる。この呼び出しを行なった時点ですでにストリームの最後に到達しているため、1 バイトも読み込まれなかった場合には -1 が返されるMessageDigest.update(byte[], int, int)
public void on(boolean on)
read
メソッドの 1 つに対する呼び出しは、メッセージダイジェストを更新します。ただし、オフの場合にはメッセージダイジェストは更新されません。on
- ダイジェスト機能をオンにする場合は true、オフにする場合は falsepublic String toString()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |