我在做文件上传功能,文件上传后,对文件MD5编码得到字符串后作为文件名,保存到硬盘,在调用MD5编码方法的时候,需要读取文件,这导致了调用保存文件时方法时,文件已经读取到末尾,不能再读取数据,FileInputStream类又不能调用reset方法,试过使用BufferedInputStream类,但是这个类读取完一个缓冲区再读取下一个时会mark参数会变为-1不能标记。
请问有没有其他的方法可以读取多次?
我在做文件上传功能,文件上传后,对文件MD5编码得到字符串后作为文件名,保存到硬盘,在调用MD5编码方法的时候,需要读取文件,这导致了调用保存文件时方法时,文件已经读取到末尾,不能再读取数据,FileInputStream类又不能调用reset方法,试过使用BufferedInputStream类,但是这个类读取完一个缓冲区再读取下一个时会mark参数会变为-1不能标记。
请问有没有其他的方法可以读取多次?
8 回答6.6k 阅读
4 回答724 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答975 阅读✓ 已解决
多次读取同样内容可能不是好的设计,当文件很大时更是如此, 可以一次读取完成多次操作,可以把具体操作做回调函数传到读取函数里做流式处理。