Когда я хочу закрыть объекты InputFileStream и OutputFileStream, eclipse говорит, что мне нужно поймать IOException, поэтому вот мой код после обнаружения этих исключений. Как вы можете видеть, я дважды ловил IOException. Есть ли более простой способ, которым я могу иметь только один блок для catch IOException для in.close() и in.read()?закрытие объекта FileInputStream исключает исключение
public class ByteStream {
public static void main(String[] args) {
FileInputStream in = null;
try {
in = new FileInputStream("testdata.txt");
int nextByte;
while((nextByte = in.read()) != -1){
System.out.println(nextByte + "-");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null){
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
'try-with-resources'. –
Что говорит e.printStackTrace()? – KernelPanic
Ошибка отсутствует, и все работает нормально. Я просто хочу сделать код более простым, используя только один блок IOException. – iman