黑马程序员技术交流社区

标题: IO流 文件复制问题 [打印本页]

作者: Hi.。    时间: 2015-12-3 15:44
标题: IO流 文件复制问题
本帖最后由 Hi.。 于 2015-12-3 15:45 编辑

BufferedReader和BufferedWriter的特有功能,一次读写一行。
  1. String line = null;
  2.                 while ((line = br.readLine()) != null) {
  3.                         bw.write(line);
  4.                         bw.newLine();
  5.                         bw.flush();
  6.                
复制代码
实际复制中,如果文本最末没有"/r/n",复制利用上面复制后也会多出一个"/r/n"。虽然使用缓冲能高效的读写数据,但这样最终文件就比源文件多出两个字节。算完全的复制文件吗?
怎么可以避免多出的两个字节?
作者: 石三伢子1    时间: 2015-12-3 18:13
可以先判断源文件有几行,然后定义一个计数器,读写中进行判断,当最后一行时不用 bw.newLine();直接flush
作者: 石三伢子1    时间: 2015-12-3 18:17
多了两个字节肯定不是绝对的复制,其实这个 bw.newLine();这个两个字节的误差是在允许范围内的;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2