我不确定这是否可以实现。
我有一个第三方库,它有一个接受的函数File
:
String function(File file);
此功能将简单地从云端下载一些内容并写入该文件。
现在,我有一个特殊OutputStream
的内部计算文件的 MD5。当数据通过流时,会计算 MD5。
由于我无法更改库的签名,无论如何我仍然可以使用接受文件的函数,但让数据通过我的OutputStream
?
我不确定这是否可以实现。
我有一个第三方库,它有一个接受的函数File
:
String function(File file);
此功能将简单地从云端下载一些内容并写入该文件。
现在,我有一个特殊OutputStream
的内部计算文件的 MD5。当数据通过流时,会计算 MD5。
由于我无法更改库的签名,无论如何我仍然可以使用接受文件的函数,但让数据通过我的OutputStream
?
不是以独立于平台的方式使用标准 API。
在 *nix(也许还有 windows)中,您可以创建一个 LIFO 文件,将其传递给库函数,您可以自己阅读该文件。
如果您无法访问库的源代码,您别无选择,只能在库函数编写完成后读取文件。当然,前提是该库不提供写入 OutputStream 而不是直接使用文件的函数。
下载 lib 的源代码,对其进行修改并编译 JAR 文件。输出流并不意味着这是一个文件。它可以是任何东西。