2011-11-04 51 views
12
线

我用下面的代码写入记录到文件中。该记录可写在文件中,但在一个线路被追加,每一个我称这种方法示例时间:的Java的FileWriter如何写入下一个

你好WorldHello WorldHello WorldHello世界

我如何修改代码,以便输出类似于下面,这样在阅读文本时我可以使用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)); 
     } 

回答

16
out.write(c.toString()); 
out.newLine(); 

这里有一个简单的解决方案,我希望它的工作原理

编辑: 我所用“\ n“这显然不是推荐的方法,修改后的答案。

+14

请不要使用“\ n”行分隔符应在平台 – Kris

+0

由于它的工作原理的基础不同。 – user236501

52

我不知道如果我理解正确的,但是这是什么意思?

out.write("this is line 1"); 
out.newLine(); 
out.write("this is line 2"); 
out.newLine(); 
... 
+4

这应该是被接受的答案。 – wassup

-1

.newLine()是最好的,如果你的系统属性line.separator是正确的。 有时您不想更改属性运行时。 所以可选择的方案是追加\ n