java - 从 getContent 将文件保存在 java 中,包括新行

标签 java file file-io makefile

我正在用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/

相关文章:

Java:迭代多维数组概念

Java 无限循环

java - 我如何获取用户输入并将其添加到数组列表中?

C# File.Move vs Rename - 它实际上是 move 文件还是只是重命名它?

c++ - 当我们在c中使用fopen()搜索文件时,实现了哪种搜索技术

ruby - 我在 ruby​​ 1.8 应用程序中使用 ftools,如何使其与 ruby​​ 1.9 兼容

C 向/从磁盘写入/读取内存快照

java - 在 Jersey 中将 int 数组作为 @QueryParam 发送

c - 在C中获取文件的最后修改日期

c - 使用 MPI-IO 读取多个文件