1
我正在創建一個應用程序,它需要爲每個用戶(以JSON格式)編寫一個文件。Java FileWriter不寫入文件
應用程序成功創建文件,但它是空的。在代碼中,我添加了一個更精細的輸出以查看轉換後的JSON字符串的樣子,並且我注意到它是完整的(它包含所有內容,所以轉換是可以的)。但字符串不存在於文件中。
//create a new FileWriter C:/.../42.guser
FileWriter writer = null;
//for every User
for(int i=0; i<users.size(); i++) {
try {
File f = new File(Users.usersDir.getPath()+"/"+i+".guser");
//Create new file
f.createNewFile();
writer = new FileWriter(f);
//convert to json and write to file. Here we get the object with KEY = keys[i].
String stringedUsr = gson.toJson(users.get(keys[i]));
logger.finer("Converted user: \""+stringedUsr+"\""); //Output seems ok
//Write (NOT WORKING)
writer.write(stringedUsr);
logger.fine("Wrote updated user \""+keys[i]+"\" to file "+f.getCanonicalPath());
} catch (IOException e) {
FAILS++;
e.printStackTrace();
}
}
//End of for
我在做什麼錯?
注:我給應用程序所有必要的權限。沒有AccessControlExceptions
嘗試'flush()'方法,同時關閉作者 – sidgate
剛剛關閉它應該沒問題。這將沖洗。 –
@AxelMontini不,因爲它不會調用刷新或關閉;-) –