1. 程式人生 > 其它 >java巢狀的檔案流如何正確的關閉

java巢狀的檔案流如何正確的關閉

1. 巢狀開啟的流只需關閉最後開啟的流,先開啟的會自動關閉;

2. 開啟的流可以多次關閉不會出錯;

3. 後面嘗試開啟流時可能會發生異常,此時要考慮關閉前面已經開啟的流。

 

下面是一種可行的方法:

public static Object read(String filePath){
        File file = new File(filePath);
        FileInputStream fileInputStream = null;
        ObjectInputStream objectInputStream = null;
        try{
            fileInputStream = new FileInputStream(file);
            objectInputStream = new ObjectInputStream(fileInputStream);
            Object object = objectInputStream.readObject();
            return object;
        }catch(Exception e){
            return null;
        }finally {
            try{
                if(objectInputStream!=null){
                    objectInputStream.close();
                }
                if(fileInputStream!=null){
                    fileInputStream.close();
                }
            }catch (Exception e2){
            }
        }
}