如何将多行从 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 中看到的文本。

希望对您有所帮助