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

批量读取问题

批量读取的时候,数组的大小不能够一次性读完,视频中的案例是不是就没有读完大文件的所有字节。

正在回答

2 回答

for循环输出buf数组中的内容, while循环控制文件是否读完;

 read()返回的读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。


此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。在某些输入可用之前,此方法将阻塞。


我的理解是一个水池,大小是buf.length  放满水后(存满了数据)从另个通道排出, 然后进水口在继续进水(继续读取数据,从0到buf.length)当最后一次排水结束 进水口没有进水了  返回了-1  触发了whlie的条件  跳出了该代码段;  以上是个人的一些愚见  希望大家能够告诉我理解错误的地方


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

苦茶好好喝喝 提问者

非常感谢!
2015-11-30 回复 有任何疑惑可以回复我~

不是太懂。假如一个水池有100L的水,有个11 L的容器取水,每次取11 L,前9次都是满的11L,最后一次取水水池只剩1L的水了。容器是把这1L的水取走就判断返回-1了,还是最后一次取走后再一次循环判断是否返回-1?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

批量读取问题

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