2011-11-04 53 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

相關問題