Java:通过文件写入输出流

Java:通过文件写入输出流,java,file,md5,outputstream,Java,File,Md5,Outputstream,我不确定这是否可以实现 我有一个第三方库,它有一个接受文件的函数: String function(File file); 此函数只需从云中下载一些内容并写入该文件 现在,我有一个特殊的OutputStream,它在内部计算文件的MD5。当数据通过流时,计算MD5 由于我无法更改库的签名,是否仍然可以使用接受文件的函数,但让数据通过我的OutputStream?下载库的源代码,修改它并编译JAR文件。 输出流并不意味着这是一个文件。它可以是任何东西。下载lib的源代码,修改它并编译JAR文件。

我不确定这是否可以实现

我有一个第三方库,它有一个接受
文件的函数

String function(File file);
此函数只需从云中下载一些内容并写入该文件

现在,我有一个特殊的
OutputStream
,它在内部计算文件的MD5。当数据通过流时,计算MD5


由于我无法更改库的签名,是否仍然可以使用接受文件的函数,但让数据通过我的
OutputStream

下载库的源代码,修改它并编译JAR文件。
输出流并不意味着这是一个文件。它可以是任何东西。

下载lib的源代码,修改它并编译JAR文件。
输出流并不意味着这是一个文件。它可以是任何东西。

不是以独立于平台的方式使用标准API


在*nix(也可能是windows)中,您可以创建一个后进先出文件,并将其传递给库函数,您可以自己读取。

不是以独立于平台的方式使用标准API


在*nix(也可能是windows)中,您可以创建一个后进先出文件,并将其传递给库函数,您可以自己读取。

如果您无法访问库的源代码,则您别无选择,只能在库函数编写完文件后读取该文件。当然,前提是库不提供写入输出流的函数,而不是直接使用文件。

如果无法访问库的源代码,则只能在库函数写入文件后读取该文件。当然,前提是库不提供写入OutputStream的函数,而不是直接使用文件。

既然你是调用这两种方法的人,你难道不能访问
文件
对象吗?既然你是调用这两种方法的人,您是否有权访问
文件
对象?您假设库是开源的。是的,使用封闭源代码库来计算MD5校验和没有意义。库不进行MD5计算。重新阅读问题。可以包装outputstream来实现这一点。您假设库是开源的。是的,使用封闭源代码库来计算MD5校验和没有意义。库不进行MD5计算。重读这个问题。我们可以通过包装outputstream来实现这一点。