[英]Java FileWriter not writing to file
我正在創建一個應用程序,該應用程序需要為每個用戶編寫一個文件(JSON格式)。
該應用程序成功創建了文件,但是為空。 在代碼中,我添加了一個更好的輸出,以查看轉換后的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()
您的數據(如doc 此處所述 )
您也可以手動flush()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.