我有一个程序打开了 3 个数据流,但我不知道如何关闭它们,这里是程序的关闭部分。
finally {//cerrando muestras
try{
if(muestras!=null){
muestras.close();
}
}catch (IOException e) {
e.printStackTrace();
}finally {//cerrando salida
try{
if(salida!=null){
salida.close();
}
}catch (IOException e){
e.printStackTrace();
}
}
}
我想这是因为我不能嵌套 finally 但我不知道任何其他方法,谢谢你的时间。
最佳答案
你应该使用 try-with-resource Java 7 中引入的语句,而不是自行关闭流。请考虑以下示例:
try (
BufferedReader br = new BufferedReader(new FileReader(file));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(out))
) {
bufferedWriter.write(text);
} catch(IOException e) {
//log or propagate to the caller
}
观察如何不必手动关闭 BufferedReader
和 BufferedWriter
流。
关于java - 最后尝试关闭多个流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596939/