目录
前言:
在异常处理中,要想关闭在异常发生前申请的某些资源,通常需要使用try-catch-finally语法,分为三种情况:
一、打开了一个流(非多重嵌套流)
那么只需要在finally中简单调用close()即可;
InputStream in = null;
try
{
in = new FileInputStream("text.txt");
//code that might throw exceptions
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
in.close();
}
二、打开了一个多重嵌套流
所谓多重嵌套流,就是在一个流的打开需要另一个流。从表面上看,多重嵌套流需要从内向外逐层关闭,但事实上因为Java中close()方法的实现包含多线程的情况,所以实际上只需要关闭最外层流即可;
BufferedInputStr