Java異常關閉資源的兩種方式
阿新 • • 發佈:2018-06-09
tst ack date tno 都在 output catch AC all
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(); }
Java異常關閉資源的兩種方式