Достаточно ли вызова flush onFileOutputStream? - PullRequest
0 голосов
/ 14 ноября 2011

Так что, конечно, мы должны попытаться поймать-завершить любой ресурс Closable.

Но я столкнулся с кодом, который грешит следующим образом:

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' не выдается исключение

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

В данном конкретном случае этого достаточно, но, тем не менее, это очень плохая практика.FileOutputStream должен быть закрыт, не просто очищен.

0 голосов
/ 14 ноября 2011

Если вы не хотите открывать ссылки на файлы, я бы закрыл потоки. Сбрасывание только гарантирует, что все изменения записаны в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...