猿问

如何计算Inputstream的MD5

问题如下:

我首先通过文件上传取得了一个inputstream,这时如果我直接对这个流进行MD5的话,之后便无法保存文件了,应该是流已经被读取过无法再次读取。

MD5计算用的是apache commons-codec:
String md5 = DigestUtils.md5Hex(inputStream); // 之后无法保存文件
FileUtils.copyInputStreamToFile(inputStream, file); // 无法保存文件

请问有什么办法既能够得到MD5又能够保存文件呢,在只用inputstream的情况下,不要把流读入一个byte数组,我并不知道它多大。


qq_花开花谢_0
浏览 1200回答 4
4回答

慕丝7291255

inputstream只能读取一次吧,你先把文件保存下来,在打开这个文件的流获取md5吧。
随时随地看视频慕课网APP

相关分类

Java
我要回答