本帖最后由 孤鸢 于 2014-9-14 10:36 编辑
首先肯定的是,数据肯定是一个字节一个字节的读,而read()内部也是封装了循环,要么读到数据结尾(文件大小不足byte[]),要么就给byte[]数组装满,而write对应的内部也封装了一个循环,给byte[]数组数据写完,所以相对于外面的while循环,就是先给byte[]中的数据写完,才循环一次,感觉好像就是一次性写完一样,你可以设置一个计数器,在f.write(buf,0,len)之前count++,然后找一个大于1K的文件(因为你的数组定义的是 1k),会发现写了 文件大小/k 的整数次。 |