我觉得应该直接写 fr.read(buffer) 比 fr.read(buffer,0,buffer.length) 更好,感觉 buffer.length 是多余的
2015-03-30
我觉得flush()写在while循环外比较好,flush()是将未满的缓存送出去,保证传输的完整性,写在while内的话,buffer流就相当于单字节传输方式,不是一个缓存一个缓存的送出去,效率变低了,buffer只有缓存没满而恰好文件读取完成时才要用到flush(),所以写在buffer的close()之前就好,不用写在while内
2015-03-21
最赞回答 / oper
if (file.isDirectory() && file.listFiles().length > 0) { // 递归 listDirectory(file); } 按楼主增加的判断条件,才会打印空目录
2015-03-21
从底层代码的角度解释了DataInputStream/DataOutputStream和FileInputStream/FileOutputStream的关系。瞬间就清晰了,不会被那么多种类型的流弄乱。也很容易理解为什么DataInputStream的构造中要传入FileInputStream对象。给老师稍稍点个赞!
2015-03-16