我有一个程序可以打开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();
        }
    }
}


我想这是因为我最终无法嵌套,但是我不知道其他任何方法,谢谢您的宝贵时间。

最佳答案

如果您使用的是Java6或更低版本的Java,则可以为close()使用包装器。

public void closeStreams(Closeable c){
  try{
    c.close();
   }
   catch(IOException e){
   }

  finally{
  // well noting here now..
  }
}


您可以使用:

finally {//cerrando muestras
            if(muestras!=null){
                muestras.closeStreams();
            }

            if(salida!=null){
                salida.closeStreams();
            }

}

07-25 22:34