课程
/后端开发
/Java
/文件传输基础——Java IO流
while((bytes=fis1.read(buf, 0, buf.length))!=-1)
2015-08-30
源自:文件传输基础——Java IO流 4-2
正在回答
每次读取buf数组长度的数据,当读到文件末尾时,因为二进制流读取是读0或1,当读到-1时说明文件已经读到末尾,此时文件读取完毕。上面的循环就是在反复读取文件,直到读到文件末尾的-1,文件读完。
泰兰德 提问者
发呆的阿呆
每判断一次while循环的条件,就会对文件进行一次读取(保存在缓冲数组中),直到最后,文件读取完毕,bytes==-1,循环结束……
Javer_ 回复 发呆的阿呆
Darkchaox 回复 发呆的阿呆
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
3 回答byte[] buf = new byte[(int)raf.length()];为什么创建了数组的内容?
2 回答buf数组是否会初始化
2 回答如何理解read(byte[] buf)?
3 回答为什么write(buf, 0, b)会报错,改成write(buf, 0, buf.length)就不会报错了
2 回答foreach取buf里面的每一个byte以后,为什么还要&0xff,一个byte不是已经8bit了吗