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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hi.。 中级黑马   /  2015-12-3 15:44  /  416 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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"。虽然使用缓冲能高效的读写数据,但这样最终文件就比源文件多出两个字节。算完全的复制文件吗?
怎么可以避免多出的两个字节?

2 个回复

倒序浏览
可以先判断源文件有几行,然后定义一个计数器,读写中进行判断,当最后一行时不用 bw.newLine();直接flush
回复 使用道具 举报
多了两个字节肯定不是绝对的复制,其实这个 bw.newLine();这个两个字节的误差是在允许范围内的;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马