1. 程式人生 > >Java異常關閉資源的兩種方式

Java異常關閉資源的兩種方式

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異常關閉資源的兩種方式