如何将多行从 JTextArea 保存到 Java 中的文件
How to save multiple line from JTextArea to a File in Java
我正在制作一个简单的记事本,它将把 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 本身的编写器,因此它将保存我们在 jtextarea 中看到的文本。
希望对您有所帮助
我正在制作一个简单的记事本,它将把 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 本身的编写器,因此它将保存我们在 jtextarea 中看到的文本。
希望对您有所帮助