правильно закрывать цепочки входных потоков - PullRequest
1 голос
/ 30 апреля 2020

Я читаю файл, содержащий двоичные данные, за которым следует сериализованный объект:

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?

...