代碼如下:
創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),成都小程序開發(fā),10余年建站對(duì)成都發(fā)電機(jī)維修等多個(gè)領(lǐng)域,擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)。
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
public?class?App?{
public?static?void?main(String[]?args)?throws?IOException?{
//?第一種方式,稍嫌麻煩
FileOutputStream?outputStream?=?null;
try?{
outputStream?=?new?FileOutputStream(new?File("data.txt"));
outputStream.write(new?byte[]?{?0x11,?0x22,?0x33,?0x44?});
//?在這里可以直接?return,?會(huì)調(diào)用?finally?中的代碼
}?finally?{
if?(outputStream?!=?null)?{
try?{
outputStream.close();
}?catch?(IOException?e)?{
}
}
}
//?第二種方式,比較簡潔,不用顯式調(diào)用?close(),?會(huì)自動(dòng)調(diào)用?close();
try?(FileInputStream?inputStream?=?new?FileInputStream(new?File("data.dat")))?{
byte[]?buf?=?new?byte[4];
inputStream.read(buf);
//?可以在這里調(diào)用?return?,在這個(gè){}代碼塊結(jié)束時(shí),close?會(huì)自動(dòng)執(zhí)行,
}
}
}
JVM退出時(shí)會(huì)釋放所有文件的句柄,這個(gè)文件當(dāng)然是被自動(dòng)關(guān)閉了;如果你在寫入文件后,沒有及時(shí)調(diào)用flush(),寫入的內(nèi)容不會(huì)刷入磁盤,就丟失了.
在寫入時(shí)捕捉異常。
Java判斷不出文件是否打開。也沒有強(qiáng)行關(guān)閉的方法。
可以關(guān)掉進(jìn)程。但還涉及excel文件是否保存的問題。所以還是提出一個(gè)友好消息。讓用戶自己處理比較好。