将JTextArea内容写入文件

我在Java Swing中有一个JTextArea和一个Submit按钮。 需要将textarea的内容写入包含换行符的文件中。 我得到了输出,它被写为文件中的一个字符串。

try { BufferedWriter fileOut = new BufferedWriter(new FileWriter("filename.txt")); String myString1 =jTextArea1.getText(); String myString2 = myString1.replace("\r", "\n"); System.out.println(myString2); fileOut.write(myString2); fileOut.close(); } catch (IOException ioe) { ioe.printStackTrace(); } 

请给我一些建议

为什么不使用JTextArea的内置writefunction?

 JTextArea area = ... try (BufferedWriter fileOut = new BufferedWriter(new FileWriter(yourFile))) { area.write(fileOut); } 

将所有\ r和\ n替换为:

 System.getProperty("line.separator") 

这将使您的代码与平台无关,并在必要时将新行写入文件。

编辑:因为你使用BufferedWriter,你也可以使用newLine()方法

为什么用\n替换\r

行分隔符应为"\r\n"

这就是我想到的:

 public void actionPerformed(ActionEvent event) { BufferedWriter writer; try { writer = new BufferedWriter(new FileWriter("SimpleText.txt", false)); text.write(writer); writer.close(); JOptionPane.showMessageDialog(null, "File has been saved","File Saved",JOptionPane.INFORMATION_MESSAGE); // true for rewrite, false for override } catch (IOException e) { JOptionPane.showMessageDialog(null, "Error Occured"); e.printStackTrace(); } } 

希望这可以帮助