在尝试使用BufferedReader的readLine方法读出每一行数据,再用FileWriter依次写到文件里的时候,用了下面的代码段:

             fr = new FileReader("c:/from.txt");
fw = new FileWriter("c:/to.txt");
br = new BufferedReader(fr);
String line = null ;
while(true)
{
line = br.readLine();
if(line == null)
break ;
line+="\r\n";
//System.out.println(line);
fw.write(line , 0 , line.length());
fw.flush();
}

首先,注意到第10行如果没有

line+="\r\n";

的话,就会出现每遇到一个换行符输出的时候只空3格的情况。

(参考http://blog.csdn.net/liangoo7/article/details/7882773)

另外,在fw.write()的第一个参数里把line写成line+"\r\n"也是不能实现换行的,依旧是空3格,不知为何。

另外,注意到fw.flush()语句,没有这句话无法输出数据,不知为何。。网上解释是“ flush() 是把缓冲区的数据强行输出”。

慢慢研究。

--------------------------Nov.1----------

1.读了http://blog.csdn.net/superjunjin/article/details/8187315并且参考课本,发现flush()方法可以刷新缓冲区,在用缓冲流(BufferedReader/BufferedWriter)的时候常常是必不可少的。

2.另外,上面的换行如果用BufferedWriter来写,还可以调用newLine()方法。

(end)

最新文章

  1. [译]初识.NET Core & ASP.NET Core
  2. [No000078]Python3 字符串操作
  3. [原创]C#应用WindowsApi实现查找\枚举(FindWindow、EnumChildWindows)窗体控件,并发送消息。
  4. Object-C中一些不同于C系列语言表现的特性
  5. c#网络通信框架networkcomms内核解析之十 支持优先级的自定义线程池
  6. 《CSS3秘籍》(第三版)-读书笔记(2)
  7. DIV实现纵向滚动条overflow-y
  8. Android概览
  9. ambari安装过程中的问题汇总
  10. ab apache Benchmarking中链接的写法 记得加上/
  11. hdu 1018 Big Number (数学题)
  12. html5中的常用的库
  13. js转码和解码兼容低版本火狐
  14. linux内核学习之一:环境搭建--安装Debian7.3
  15. 树莓派VNC搭建相关问题,啦啦啦~
  16. 【Android Developers Training】 25. 保存文件
  17. Classy(排序)
  18. 牛客网linux试题-错误整理-20170914
  19. Java基础——Ajax(一)
  20. 2016ICPC-大连 A Simple Math Problem (数学)

热门文章

  1. Day 11 正则表达式
  2. Tomcat 7 的domain域名配置,Tomcat 修改JSESSIONID
  3. 关于几种UI框架简单总结
  4. GRYZY #13. 拼不出的数
  5. 洛谷 P1503鬼子进村
  6. File类 递归 获取目录下所有文件文件夹
  7. Spring框架 JdbcTemplate类 @Junit单元测试,可以让方法独立执行 如:@Test
  8. 洛谷 P3865 【模板】ST表
  9. ScSPM
  10. [Javascript] Wrap fireEvent with fireEventAsync