2014-10-31 168 views
0

我試圖讓用戶輸入一個名稱並傳遞它時,會將該信息(格式爲name,pass)寫入.csv文件指定的位置。但是,無論何時運行該程序,它都會覆蓋第一行。我嘗試添加"\n"out.newLine();,但由於某些原因,它不會寫入下一行。我不知道爲什麼這樣做,所以我希望如果有人知道爲什麼。在不覆蓋第一行的情況下寫入.csv文件中的新行

public class TestClass { 

    public static void main(String[] args) throws IOException { 

     String location = "my location to the file (.csv)"; 

     Scanner sc = new Scanner(System.in); 
     System.out.print("Name: "); 
     String name = sc.next(); 
     System.out.print("Pass: "); 
     String pass = sc.next(); 
     BufferedWriter out = new BufferedWriter(new FileWriter(location)); 
     out.write(name + "," + pass + "\n"); 
     out.newLine(); 
     out.close(); 
    } 

} 

目前在文件中我有這樣的:

測試,一個

,當我跑的程序:

name: one 
pass: two 

退出程序,並檢查文件和第一行被替換爲一個,兩個而不是像這樣:

test, one 
one, two 

感謝您對那些誰幫助:)

回答

2

使用FileWriter第二個構造函數:

的FileWriter(字符串文件名,布爾追加)

文件名 - 字符串系統相關的文件名。
append - 布爾值如果爲true,則數據將寫入文件的末尾而不是開頭。

BufferedWriter out = new BufferedWriter(new FileWriter(location, true)); 
+0

謝謝Eng Fouad :)。不知道真正的部分:O。 – Sc4r 2014-10-31 21:58:27

+0

@ Sc4r歡迎您。閱讀JavaDocs總是一個好主意;) – 2014-10-31 22:02:37

相關問題