课程
/后端开发
/Java
/文件传输基础——Java IO流
int read = in.read(buf, 0, buf.length);好疑惑,in.read(buf, 0, buf.length)这个方法不是一次性读完了嘛,怎么还有可能为-1呢??
2016-04-05
源自:文件传输基础——Java IO流 4-2
正在回答
in.read(buf, 0, buf.length)这个方法不是一次性读完了嘛?
首先对于你的这个理解是错误的,因为这个方法正确的理解是把文件内容的字节读入到字节数组buf中,但是文件内容的字节有可能大于字节数组buf的长度,那么文件内容就一次读不完。
in.read(buf, 0, buf.length)这个方法可能为-1吗
再来说说这个方法的返回值,这个方法返回的是实际读取到字节数组中的字节的数量。官方api明确指出,如果已经达到文件的末尾,返回值为-1.
qq_疾速小蜗牛_0
怒放的生命012 回复 qq_疾速小蜗牛_0
就是相当于我们的文件结尾
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
5 回答不懂,bytes = in.read(buf,0,buf.length))!=-1
5 回答bytes = in.read(buf,0,buf.length))!=-1 什么意思
3 回答while((bytes = in.read(buf,0,buf.length))!=-1)这里有疑问
2 回答int b = in.read(); 与int bytes = in.read(buf,0,buf.length);有什么差
2 回答while((bytes = in.read(buf,0,buf.length))!=-1),循环有何意义啊