我正在制作一个简单的记事本,它将JTextArea中的内容保存到文件中。但是我有一个问题,我无法保存多行文本。
这是我的代码:
JTextArea textArea = new JTextArea();
File writeFile;
FileWriter fileWriter = null;
BufferedWriter bufWriter = null;
writeFile = new File("note.txt");
try {
fileWriter = new FileWriter(writeFile);
bufWriter = new BufferedWriter(fileWriter);
bufWriter.write(textArea.getText());
bufWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
例如,我有一个按钮和一个文本区域。当我输入这样的东西时:
test line 1
test line 2
并按下按钮保存,文件创建。 但是文件的内容,变成这样
test line 1test line 2
请给我一个详细的答案,以便我正确理解。 我是Java GUI的新手。
谢谢。
尝试您的代码后,我看到您的代码仅将文本保存在一行中。 例如,在文本区域中,它看起来像这样
第一行
第二行
第三行
但是在你刚刚得到的文件中
第一行第二行第三行
如果是这种情况,您可以使用此代码
File writeFile;
Writer writer = null;
writeFile = new File("D:\note.txt");
try {
writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(writeFile), "utf-8"));
jTextArea1.write(writer);
} catch (IOException ex) {
// report
} finally {
try {
writer.close();
} catch (Exception ex) {/*ignore*/
}
}
在此代码中,我们使用来自 jtextarea 本身的 writer,因此它将保存我们在 jtextarea 中看到的文本。
希望这个帮助