java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.security.DigestOutputStream
- すべての実装されたインタフェース:
Closeable
,Flushable
,AutoCloseable
public class DigestOutputStream extends FilterOutputStream
ストリームを通過するビットを使用して、関連したメッセージ・ダイジェストを更新する透明なストリームです。
メッセージ・ダイジェストの計算を完了するには、このダイジェスト出力ストリームのwrite
メソッドの1つを呼び出した後、関連したメッセージ・ダイジェストに対してdigest
メソッドの1つを呼び出します。
このストリームをオンまたはオフにすることができます(on
を参照)。 オンの場合、write
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。 ストリームに対するデフォルトはオンです。
- 導入されたバージョン:
- 1.2
- 関連項目:
MessageDigest
,DigestInputStream
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected MessageDigest
digest
このストリームに関連したメッセージ・ダイジェストです。 -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DigestOutputStream(OutputStream stream, MessageDigest digest)
指定された出力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを出力するストリームを作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 MessageDigest
getMessageDigest()
このストリームに関連したメッセージ・ダイジェストを返します。void
on(boolean on)
ダイジェスト機能をオンまたはオフにします。void
setMessageDigest(MessageDigest digest)
指定されたメッセージ・ダイジェストをこのストリームに関連付けます。String
toString()
このダイジェスト出力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。void
write(byte[] b, int off, int len)
ダイジェスト機能がオンの場合に指定された部分配列を使用して、メッセージ・ダイジェストを更新し、どのような場合でもその部分配列を出力ストリームに書き込みます。void
write(int b)
指定されたバイトを使用して(ダイジェスト機能がオンの場合に)メッセージ・ダイジェストを更新し、どのような場合でもそのバイトを出力ストリームに書き込みます。
-
フィールド詳細
-
digest
protected MessageDigest digestこのストリームに関連したメッセージ・ダイジェストです。
-
-
コンストラクタの詳細
-
DigestOutputStream
public DigestOutputStream(OutputStream stream, MessageDigest digest)指定された出力ストリームとメッセージ・ダイジェストを使用して、ダイジェストを出力するストリームを作成します。- パラメータ:
stream
- 出力ストリーム。digest
- このストリームに関連させるメッセージ・ダイジェスト。
-
-
メソッドの詳細
-
getMessageDigest
public MessageDigest getMessageDigest()このストリームに関連したメッセージ・ダイジェストを返します。- 戻り値:
- このストリームに関連したメッセージ・ダイジェスト。
- 関連項目:
setMessageDigest(java.security.MessageDigest)
-
setMessageDigest
public void setMessageDigest(MessageDigest digest)指定されたメッセージ・ダイジェストをこのストリームに関連付けます。- パラメータ:
digest
- このストリームに関連したメッセージ・ダイジェスト。- 関連項目:
getMessageDigest()
-
write
public void write(int b) throws IOException指定されたバイトを使用して(ダイジェスト機能がオンの場合に)メッセージ・ダイジェストを更新し、どのような場合でもそのバイトを出力ストリームに書き込みます。 すなわち、ダイジェスト機能がオン(on
を参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdate
を呼び出し、バイトb
を渡します。 メソッドはその後、そのバイトを出力ストリームに書き込み、そのバイトの書込みが完了するまで次の書込みを行わせません。- オーバーライド:
write
、クラス:FilterOutputStream
- パラメータ:
b
- 出力ストリームの更新および出力ストリームへの書込みに使用するバイト。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
MessageDigest.update(byte)
-
write
public void write(byte[] b, int off, int len) throws IOExceptionダイジェスト機能がオンの場合に指定された部分配列を使用して、メッセージ・ダイジェストを更新し、どのような場合でもその部分配列を出力ストリームに書き込みます。 すなわち、ダイジェスト機能がオン(on
を参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdate
を呼び出し、指定された部分配列を渡します。 メソッドはその後、部分配列のバイト群を出力ストリームに書き込み、そのバイト群の書込みが完了するまで次の書込みを行わせません。- オーバーライド:
write
、クラス:FilterOutputStream
- パラメータ:
b
- 出力ストリームの更新および出力ストリームへの書込みに使用する部分配列を含む配列。off
-b
内の、更新および書込みを行う先頭バイトのオフセット。len
- オフセットoff
から開始して、b
から更新および書込みを行うデータのバイト数。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
MessageDigest.update(byte[], int, int)
-
on
public void on(boolean on)ダイジェスト機能をオンまたはオフにします。 デフォルトはオンです。 オンの場合、write
メソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。- パラメータ:
on
- ダイジェスト機能をオンにする場合はtrue、オフにする場合はfalse。
-
toString
public String toString()このダイジェスト出力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。
-