2011-11-14 63 views
0

所以我們當然必須嘗試捕獲任何可關閉的資源。調用flushFileOutputStream足夠嗎?

但我碰到一些代碼,罪如下傳來:

java.util.Properties myProps = ... reads & loads (and doesn't close Stream!) 
myProperties.store(new FileOutputStream(myFilePath), null); 
System.exit(0); 

java.util.Properties.store()刷新底層流(FileOutputStream) 請問這個夠嗎? 你能想到一個文件不會被寫入的場景嗎?假設該方法通過並且沒有任何例外情況正在「存儲」中拋出

回答

0

如果您不想打開文件引用,我會關閉這些流。刷新只能確保所有更改都寫入文件。

+0

'System.exit()'後面不能有任何打開的文件引用。 – EJP

1

在這個特定情況下就足夠了,但這是非常糟糕的做法。 FileOutputStream應該是關閉,不只是刷新。