Java FileWriter如何写入下一行

use*_*501 13 java newline file

我使用下面的代码将记录写入文件.记录可以写在文件中,但是每次调用此方法示例时都会附加在一行中:

Hello WorldHello WorldHello WorldHello World

如何修改代码使输出如下所示,以便在阅读文本时我可以使用line.hasNextLine()来检查?

Hello World
Hello World
Hello World
Hello World

        // Create file
        FileWriter fstream = new FileWriter(fileName, true);
        BufferedWriter out = new BufferedWriter(fstream);
        out.write(c.toString());
        //Close the output stream
        out.close();

        // Code I used to read record I am using | as a seperator name and id
        String fileName = folderPath + "listCatalogue.txt";
        String line = "";
        Scanner scanner;
        String name, id;
        scanner = new Scanner(fileName);
        System.out.println(scanner.hasNextLine());
        while (scanner.hasNextLine()) {
            line = scanner.nextLine();
            System.out.println(line);
            StringTokenizer st = new StringTokenizer(line, "|");
            name = st.nextToken();
            id = st.nextToken();
            catalogues.add(new Catalogue(name, id));
        }
Run Code Online (Sandbox Code Playgroud)

ale*_*ull 54

我不确定我是否理解正确,但这是你的意思吗?

out.write("this is line 1");
out.newLine();
out.write("this is line 2");
out.newLine();
...
Run Code Online (Sandbox Code Playgroud)


Zoh*_*aib 17

out.write(c.toString());
out.newLine();
Run Code Online (Sandbox Code Playgroud)

这是一个简单的解决方案,我希望它有效

编辑:我使用的是"\n",这显然是不推荐的方法,修改后的答案.

  • 请不要使用'\n'线路分隔符在平台的基础上不同 (14认同)

Kri*_*ris 8

您可以调用newLine()java提供的方法,将新行插入到文件中.

有关更多参考 - http://download.oracle.com/javase/1.4.2/docs/api/java/io/BufferedWriter.html#newLine()