情景
写代码时发现如果打开了多个stream,那么关闭的时候需要些很多冗余代码。就像下面这样:
public static void main(String[] args) {
File file = new File("D:" + File.separator + "test.txt");
InputStream in = null;
try {
in = new FileInputStream(file);
// operation input stream
// ...
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
// !!!这里如果要关闭的流很多,那么就会写出很多冗余且相似的代码
if (in != null) {
try {
in.close();
} catch (IOException e) {
// ignore
}
}
}
}
如果打开的流超过10个,那么代码中很多都是上面那样的代码。所以,需要编写方法去统一处理关闭流。
解决
方法1:自行编码实现
可以把这个方法放到工具类中。但是本着不要重复造轮子的想法, 应该有工具类已经实现了这个方法。