日期:2014-05-20  浏览次数:20788 次

JAVA 用JTextArea写完后保存到文件,怎么实现在文件里面能换行

private JTextArea jtextarea;
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(baoq)){
String str=jtextarea.getText();
try {
FileWriter fw=new FileWriter("f:\\百度云\\源代码\\Textio\\Diary");
fw.write(str);
fw.close();


百度了很久很多人都说用/r/n,但是这个东西要放哪里?改试的都试了就是不行啊

------解决方案--------------------
在你要换行的字符串结尾加上/r/n

比如
String line1 = "abcd" + "/r/n"
然后写到文件里fw.write(line1);

每一行都要这样
------解决方案--------------------
lz你好,你这个问题分享的很好呢,之前我也做过这个,跟lz分享一种实现方式吧:
分享思路:
1.JTextArea是多行的文本框,那么通过textArea.getText()获取的文本在控制台输出的时候是换行的,可以这么想,里面应该以"\n"分隔的,我们把textArea.getText().split("\n")之后是一个String[],然后把这个数组写到文件去,这样是不是可以达到换行的效果了呢。

希望lz先自己去实现,然后参考下面代码:
BufferedWriter bw = null;
try {
OutputStream os = new FileOutputStream("E:\\test.txt");
bw = new BufferedWriter(new OutputStreamWriter(os));
for (String value : textArea.getText().split("\n")) {
bw.write(value);
bw.newLine();//换行
}
} catch (IOException e1) {
e1.printStackTrace();
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}


希望lz问题得到解决,祝学习进步~