1

これが達成可能かどうかはわかりません。

次を受け入れる関数を持つサードパーティのライブラリがありますFile

String function(File file);

この関数は、クラウドからいくつかのコンテンツをダウンロードし、そのファイルに書き込むだけです。

OutputStreamこれで、ファイルの MD5 を内部的に計算する特別なものができました。データがストリームを通過する間、MD5 が計算されます。

ライブラリの署名を変更することはできないので、とにかくファイルを受け入れる関数を引き続き使用できますが、データを通過させることはできますOutputStreamか?

4

3 に答える 3

1

標準 API を使用したプラットフォームに依存しない方法ではありません。

*nix (およびおそらく Windows も同様) では、ライブラリ関数に渡す LIFO ファイルを作成して、自分で読み取ることができます。

于 2012-06-12T10:14:59.157 に答える
0

ライブラリのソース コードにアクセスできない場合は、ライブラリ関数がファイルを書き込んだ後にファイルを読み取るしかありません。もちろん、ファイルを直接使用する代わりに、ライブラリが OutputStream に書き込む関数を提供していないことが前提です。

于 2012-06-12T10:20:00.087 に答える
0

lib のソースをダウンロードして変更し、JAR ファイルをコンパイルします。出力ストリームは、これがファイルであることを意味しません。それは何でもかまいません。

于 2012-06-12T10:14:45.893 に答える