我正在用java写入一个文件,其中的内容是使用getContent获取的,但问题是它忽略了新行:
即:字段中的输入为:
1
2
3
但我在文件中得到的是:
123
我的代码是:
public void saveMap() {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File(""));
int retrival = chooser.showSaveDialog(null);
if (retrival == JFileChooser.APPROVE_OPTION) {
try(FileWriter fw = new FileWriter(chooser.getSelectedFile())) {
fw.write(editArea.getText());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
最佳答案
您是否在 Notepad++ 中打开了该文件?
可能是因为\r、\n、\r\n在Windows中显示不一样(据我所知,只有\r\n能正常显示)
尝试更改此行:
fw.write(editArea.getText());
致:
fw.write(editArea.getText().replaceAll("[\r|\n|\r\n]", String.format("%n")));
关于java - 从 getContent 将文件保存在 java 中,包括新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19341901/