while((bytes = in.read(buf,0,buf.length))!=-1)这里有疑问
while((bytes = in.read(buf,0,buf.length))!=-1)
搞不明白,假如文件100字节,数组buf容量80字节,第一次读完的时候bytes等于80,然后执行完后边的代码,程序如何回到while循坏呢?
不是已经这样了吗 bytes=80!=-1,不应该是一个死循环吗?有些理解不了这个
而且就算我现在当做能明白这个循环为什么能进行了,可buf数组在第一次循环的时候已经被填满了呀,第二次去循环的时候,是把剩下的20字节覆盖进去吗?而且in.read(buf,0,buf.length))这里第二个参数是“0”,也没有看出来任何地方对这个参数有修改,程序怎么知道应该是从81位开始读呢?