使用while循环,能够读完大于字节数组长度的文件吗?如何实现的?

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

天涯蝶舞

2016-01-08 08:52

如果传入的文件大于8*1024,使用while是不是就能全部读入呢?但是当读满8*1024后,没有被释放,如何继续往buf中读入呢?http://img.mukewang.com/568f08090001a22507580471.jpg

另外,我导入一个项目会出错呢?,但是我新建一个项目和相同名称的Class,然后再把代码拷贝进去就不会报错,是什么原因啊?

http://img.mukewang.com/568f085e00012ca509320524.jpg

写回答 关注

2回答

  • 孤寂0123
    2016-01-10 14:01:22
    已采纳

    betys=in.read(buf,0,buf.length),读取信息内容的时候,将信息暂时存入buf数组,一次性读不完的,会将读取到的信息的buf数组循环释放的,然后再继续存入buf数组,继续释放------我是这样想的,仅供参考

    天涯蝶舞

    非常感谢!

    2016-01-11 20:49:56

    共 1 条回复 >

  • 孤寂0123
    2016-01-08 10:02:00

    betys=in.read(buf,0,buf.length)//从文件中读取内容存入到buf缓存中,从第0为开始,到buf.length结束;当文件没读完二buf数组存完后,会重新建一个byte进行存储;

    第二个上面说了是你的这个项目配置出错啦


    天涯蝶舞

    buf缓存是自动形成的吗?while循环里面的betys=in.read(buf,0,buf.length),每次都是从第0位开始读,那么当长度大于buf时,读取内容存入到buf缓存中,再继续读剩下的数据,又会从第0位开始,那每次读取的数据就一样了阿?

    2016-01-08 11:55:28

    共 1 条回复 >

文件传输基础——Java IO流

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

133754 学习 · 1030 问题

查看课程

相似问题