我試圖通過詢問用戶所說的信息來更新包含電影列表和某些信息的.txt文件。 文件的組織是這樣的:將用戶輸入文本添加到.txt文件
0000-Movie Title Goes Here-9.99-ClientID
0001-Same thing here-9.99-CLIENTID2
等。
下面是我使用的代碼:
BufferedWriter output = new BufferedWriter(new FileWriter("movies.txt", true));
System.out.println("Inserte numero de la pelicula:\n");
String pelNum = CTeclado.ReadString();
System.out.println("Inserte el titulo de la pelicula:\n");
String pelName = CTeclado.ReadString();
System.out.println("Inserte el precio de la pelicula:\n");
String pelPrice = CTeclado.ReadString();
output.append(pelNum + "-" + pelName + "-" + pelPrice + "-null");
output.close();
ReadM();
System.out.println("Pelicula agregada!\n");
MainMenu();
(該CTeclado的是用於讀取輸入)
此編譯沒有錯誤,但是,有一個在實際文件沒有改變.... 我的代碼有什麼問題?
月底止究竟是文件你正在嘗試在jar文件所在的文件夾中進行修改?如果您只指定沒有路徑的文件名,則java假定該文件與正在執行的源代碼位於同一文件夾中。另外,請遵守java命名約定。變量和方法名稱以小寫字母開頭。 – fireshadow52
是的,事實上,我已經嘗試將整個文件路徑放在字段上並獲得相同的結果。我知道,CTeclado類和它的方法被其他人傳遞給我,這是一個漫長的課,我稍後會編輯它。 – iVikD
糟糕!我完全錯過了你使用錯誤方法的事實!使用['write()'](http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Writer.html#write(java.lang.String,%20int,% 20int))方法將文件寫入文件:'output.write(「stuff goes here」);' – fireshadow52