Java异常关闭资源的两种方式
try-catch-finally 常用,在异常关闭时应判断流是否为空
public class CloseableUtils { public static void closeable(Closeable ... closeIO) { for(Closeable clo:closeIO) { if(clo!=null) { try { clo.close(); } catch (IOException e) { System.out.println(DateUtils.getNowTime()+clo.getClass().getName()+"关闭发生异常"+e); } } } } }
try-with-resources ,它会自动关闭括号内的资源(resources),不用手动添加代码
注意:
1. resource 必须继承自 java.lang.AutoCloseable 2. 定义和赋值必须都在try里完成
try (FileOutputStream f = null;) { f = new FileOutputStream(new File("")); } catch (IOException e) { e.printStackTrace(); }
作者:
i孤独行者
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。