Я читаю файл, содержащий двоичные данные, за которыми следует сериализованный объект:
FileInputStream fis = new FileInputStream(file);
GZIPInputStream gzis = new GZIPInputStream(fis);
DataInputStream dis = new DataInputStream(gzis);
ObjectInputStream ois = new ObjectInputStream(gzis);
int i = dis.readInt();
Object o = ois.readObject();
При написании этого кода возникло несколько вопросов:
1. Какие потоки следует закрывать?
2. Как правильно обрабатывать исключения без спагетти try-finally?
try-with-resources
операторе? - person Sweeper   schedule 30.04.2020try-with-resources
, почему бы просто не использовать предложениеcatch
послеtry (...) { ... }
для перехвата исключений? При чем тут спагетти? - person Sweeper   schedule 30.04.2020