我正在写一个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();
}
}
}
答案 0 :(得分: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")));
答案 1 :(得分:1)
使用以下代码以准确的格式保存文件,并首先在 Wordpad 中查看此文件。
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();
}