while循环是不是存在问题的
最后这个while循环不会一直在那从0开始read循环吗 因为bytes不等于-1啊 是不是有问题
最后这个while循环不会一直在那从0开始read循环吗 因为bytes不等于-1啊 是不是有问题
2017-02-04
read()返回的是放入数组buf的大小,前面定义buf大小为8*1024,单位字节,假设一个文件大小为13192字节,读三次才能读完,第一次读8192字节,bytes=8192,然后打印出来,第二次,in.read(buf,0,buf.length)=5000,然后前面byte数组中前5000个字节被覆盖,然后for循环把这5000个字节打印出来,第三次没东西读了,返回-1,结束循环。而这时候buf的大小还是8192,第二次只是覆盖了前面的,AIP也解释的很不清楚:这些字节将存储在 b[off] 到 b[off+k-1] 的元素中,不影响 b[off+k] 到 b[off+len-1] 的元素
举报