A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

将C盘的文件复制到D盘
这样写代码D盘的文件会比源文件多一行换行,如何解决
若用StringBiulder存储后再回头删除两个角标数据,这样在非Windows平台也是有问题的啊

如何解决?:Q

  1. br = new BufferedReader(new FileReader("c:\\setup.log"));
  2. bw = new BufferedWriter(new FileWriter("d:\\setup.log"));
  3. String temp;
  4.                         while ((temp = br.readLine()) != null)
  5.                         {
  6.                                 bw.write(temp);
  7.                                 bw.newLine();
  8.                                 bw.flush();
  9.                         }
复制代码

1 个回复

倒序浏览
黄健 黑马帝 2011-10-27 20:53:41
沙发
你每读一行,都会写一行,再写换行符,当原文件最后一行没有换行符时,拷贝的文件就会多一个换行,因为readLine()方法在读取一行时已经把换行符读取过了,只是返回的字符串不包含换行符,导致我们无法判断最后一行是否有换行符,所以暂时未想到解决办法,可以考虑不用readLine()方法。

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马