为了账号安全,请及时绑定邮箱和手机立即绑定

有没有方法让 java.io.FileInputStream.read(byte[] b)读完了之后再把字节放回去?

有没有方法让 java.io.FileInputStream.read(byte[] b)读完了之后再把字节放回去?

慕虎7371278 2019-02-25 06:13:20
就是一般FileInputStream.read(byte[] b)方法每运行一次,都会往后读b.length个字节么,下次运行该方法时会接着上次的地方往下读,不会再在从头开始读。我有没有什么办法让他下一次还是从文件头部开始读?
查看完整描述

4 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

找个支持mark / reset的InputStream, 比如 BufferedInputStream

查看完整回答
反对 回复 2019-03-01
?
浮云间

TA贡献1829条经验 获得超4个赞

这样的逻辑最好不要依赖于 InputStream,应该重新组织一下。比如说为什么要重新读取?如果要重新读取,上次读取的时候可不可以缓存起来?

查看完整回答
反对 回复 2019-03-01
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

MappedByteBuffer

查看完整回答
反对 回复 2019-03-01
?
开满天机

TA贡献1786条经验 获得超13个赞

可以使用RandomAccessFile

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 503 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信