将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
的内置write
function?
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(); } }
希望这可以帮助