0

我正在写入使用getContent获取内容的java文件,但问题是它忽略了新行:

即:该字段中的输入是:

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();
        }
    }
}
4

2 回答 2

1

您是否在 Notepad++ 中打开了该文件?

可能是因为 \r, \n, \r\n 在 Windows 中显示不均(据我所知,只有 \r\n 正常显示)

尝试更改此行:

fw.write(editArea.getText());

到:

fw.write(editArea.getText().replaceAll("[\r|\n|\r\n]", String.format("%n")));
于 2013-10-13T04:50:59.353 回答
1

使用下面的代码以准确的格式保存文件,并首先在写字板中查看此文件。

try
{
     FileWriter fw=new FileWriter(chooser.getSelectedFile());          
     fw.write(String.format(editArea.getText().replaceAll("[\r|\n|\r\n]", "%s"), System.getProperty("line.separator")));
     fw.close();
}
catch(Exception e)
{
    e.printStackTrace();
}
于 2013-10-13T05:39:39.163 回答