字符串不会写入新行

Suh*_*pta 3 java file-io newline

以下片段尝试将某些目录中存在的目录和文件的名称写入文本文件.每个名称应写入单独的行.而不是在同一行上打印每个名称.为什么会这样?

        try {
        File listFile = new File("E:" + System.getProperty("file.separator") + "Shiv Kumar Sharma Torrent"+ System.getProperty("file.separator") +"list.txt");
        FileWriter writer = new FileWriter(listFile,true);
        Iterator iterator = directoryList.iterator();
        while(iterator.hasNext()) {
            writer.write((String)iterator.next());
            writer.write("\n"); // Did this so each name is on a new line
        }
        writer.close();
    }catch(Exception exc) {
        exc.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

我在哪里弄错了?

Sur*_*ran 5

当您需要文本格式时,请始终使用PrintWriter.
正确的方法是将writer包装在PrintWriter中并使用println()方法,如:

PrintWriter printWriter = new PrintWriter(writer);
printWriter.println();
Run Code Online (Sandbox Code Playgroud)

  • +1建议使用`PrintWriter`而不是`FileWriter` :) (2认同)