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

RandomAccessFile读取文件

14:31左右,

raf.seek(0); 

byte[] buf = new byte[(int)raf.length()]; 

raf.read(buf);

System.out.println(Arrays.toString(buf));

这里不明白为什么要先raf.read(buf);才能正确打印出buf,按平常的思路不应该

System.out.println(Arrays.toString(raf.read(buf)));吗

正在回答

1 回答

raf.read(buf)是没有返回值的,不能直接写到Arrays.toString()中。Arrays.toString()的括号中是要一个数组。raf.read(buf)的意思是读取文件的内容存放在buf中,不对请指教

1 回复 有任何疑惑可以回复我~
#1

qq_非诚勿扰_3 提问者

非常感谢!
2017-03-31 回复 有任何疑惑可以回复我~
#2

慕粉1052051344

raf.read(byte[] b)是有返回值的。int类型,表示读入缓冲区的总字节数,如果由于已到达此文件的末尾而不再有数据,则返回 -1
2017-06-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
文件传输基础——Java IO流
  • 参与学习       133641    人
  • 解答问题       1030    个

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

进入课程

RandomAccessFile读取文件

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信