java巢狀的檔案流如何正確的關閉
阿新 • • 發佈:2022-03-14
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){ } }}