BufferedWriter写入文件不换行问题

typ2098 2012-08-05 03:09:20
我用BufferedReader的readLine()方法读一文件,再用BufferedWriter写入另外一个文件,写入成功后,所有的文字全部显示在了一行,原来的文件中的文字是有换行的,请问怎么解决。
package io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TestBufferedWriter {

public static void main(String[] args) {
BufferedWriter bw = null;
BufferedReader br = null;
String result = null;
try {
bw = new BufferedWriter(new FileWriter("E:/workSpace/myEclipse/javaReview/src/io/Hello.txt"));
br = new BufferedReader(new FileReader("E:/workSpace/myEclipse/javaReview/src/io/TestBufferedWriter.java"));
while((result = br.readLine())!= null){
bw.write(result);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(br != null){
br.close();
}
if(bw != null){
bw.flush();
bw.close();
}
} catch (IOException e) {
System.out.println("流关闭异常");
e.printStackTrace();
}
}
}
}
...全文
12849 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wen58tao 2015-02-02
  • 打赏
  • 举报
回复
试过了,这两种方法: (1) write("\r\n"); (2) newline();
JackBurd 2014-09-26
  • 打赏
  • 举报
回复
引用 19 楼 u012600805 的回复:
我也遇到这样的情况。 bw.write(result+"\n"); 或: bw.write(result); bw.write("\n"); 求高手解答原因。
用“\n"确实不行,难道不被解析为换行?看来只能用newLine了
吴沛鸿 2014-09-17
  • 打赏
  • 举报
回复
我也遇到这样的情况。 bw.write(result+"\n"); 或: bw.write(result); bw.write("\n"); 求高手解答原因。
wwwolves 2014-08-17
  • 打赏
  • 举报
回复
不用BufferedWriter的写文件 换一个API 用PrintWrite,它里面有一个自动换行的方法println,把你要写的流放到这个方法中 些出去的流自动换行 试试行吗 ?觉得可以 记得给分
2014-06-17
  • 打赏
  • 举报
回复
使用BufferedWriter.newLine()或者使用System.getProperty("line.separator")获得换行符再写入。这样可以跨平台。
Zhang_qiankun 2014-06-11
  • 打赏
  • 举报
回复
是你没有加换行而已
m529031854 2014-03-29
  • 打赏
  • 举报
回复
newLine()
S117 2014-03-25
  • 打赏
  • 举报
回复
用newLine()方法换行!
北落师门_Orz 2014-03-25
  • 打赏
  • 举报
回复
输入输出流的换行符插入是 :newLine(), 所以这里只要在bw.write(result);后面加 bw.newLine(); 就可以实现了
tony4geek 2014-03-20
  • 打赏
  • 举报
回复
FileInputStream inStream byte[] buffer = new byte[1024]; int len = 0; while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); }
suciver 2014-03-20
  • 打赏
  • 举报
回复
不用楼主干嘛要这么做,文件复制直接用FileInputStream和FileOutputStream,就可以原样复制了
etnet 2014-03-20
  • 打赏
  • 举报
回复
write("\r\n")
haha_321 2014-03-16
  • 打赏
  • 举报
回复
bw.newLine();
亚瑟-小郎 2014-03-16
  • 打赏
  • 举报
回复
6楼的方法不行!求正解
无伤 2014-02-26
  • 打赏
  • 举报
回复
bw.write(result); //添加换行 bw.write("\n");
长笛党希望 2014-01-22
  • 打赏
  • 举报
回复
bw.write(result); //添加换行 bw.write("\n");
1046838702 2014-01-22
  • 打赏
  • 举报
回复
学习了,我也不太懂
LakeSideHu 2014-01-20
  • 打赏
  • 举报
回复
用FileInputStream来读取,FileOutputStream来写入,可以避免不能换行的问题
luozhiweim 2013-04-12
  • 打赏
  • 举报
回复 1
writer 有个方法 Writer.newLine(); 可以换行写
小文件 2012-08-05
  • 打赏
  • 举报
回复
看出来了,楼主是在linux下写的。
不过读写文本文件用Reader、Writer好,其他用字节流。看到一个帖里这么说的。
新手握个爪
加载更多回复(1)

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧