Делаю так:
try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("path"))) {
oos.writeObject(myObject);
}
catch (IOException e) {
e.getMessage();
}
Использую конструкцию try-with-resources, которая как бы автоматически вызывает метод close();
Вопрос0: Можно ли так делать или лучше обычный блок try, в котором писать flush() и close() или ещё как вариант писать close() в блоке finally()?
Вопрос1: Если инициализировать потоки отдельно, как правильно закрывать их по отдельности?
Вопрос2: Для десериализации объекта такая конструкция (try-with-resources) тоже допустима?
Ответ
1) так делать можно. Для этого try с ресурсами и создавался, чтобы писать меньше.
2) если вы про пример кода из вопроса, то это у вас всё равно один поток. А если вы действительно хотите открыть несколько потоков, то можно это делать через символ ; в скобках try. Система сама их закроет настолько насколько это возможно.
3) уточните что именно вы хотите сделать. Я доотвечу.
Комментариев нет:
Отправить комментарий