批量读取问题

来源:4-2 字节流之文件输入流FileInputStream-2

苦茶好好喝喝

2015-09-09 15:01

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

写回答 关注

2回答

  • demmo
    2015-10-18 10:47:28
    已采纳

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

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


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


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


    苦茶好好喝喝

    非常感谢!

    2015-11-30 17:20:15

    共 1 条回复 >

  • 慕粉3727206
    2016-09-01 21:13:08

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

文件传输基础——Java IO流

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

133754 学习 · 1030 问题

查看课程

相似问题