2011-11-14 13 views
0

もちろん、クローズ可能なリソースをtry-catch-finalyする必要があります。flush onFileOutputStreamを十分に呼び出していますか?

しかし、私は次のように罪いくつかのコードに出くわした:

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) をフラッシュ? ファイルが書き込まれないシナリオは考えられますか?メソッドが成功し、 'store'に例外がスローされていないと仮定します。

答えて

0

オープンファイル参照が必要ない場合、ストリームをクローズします。フラッシュするだけで、すべての変更がファイルに書き込まれます。

+0

'System.exit()'の後にファイル参照を開くことはできません。 – EJP

1

この特定のケースでは十分ですが、それでも非常に悪い習慣です。 FileOutputStreamは、が閉じ、がフラッシュされていない必要があります。

関連する問題