java關(guān)閉流的兩種方法
當使用完流后,關(guān)閉所有打開的流仍然是一個好習(xí)慣。一個被打開的流有可能會用盡系統(tǒng)的資源,這取決于平臺和實現(xiàn)。如果沒有將流關(guān)閉,另一個程序試圖打開另一個流時,可能會得到不需要的資源。
有兩種關(guān)閉方式:
? 如下:
jdk1.7之前
方法一:手動關(guān)閉,即為使用close(),部分代碼如下:
FileWriter fw = null;
try {
fw = new FileWriter("test\\test.txt");
fw.write("test");
}catch (Exception e) {
e.printStackTrace();
}finally {
//
if(fw != null) {
try {
fw.close(); // 關(guān)閉
} catch(IOException e) {
e.printStackTrace();
}
}
}
jdk1.8
方法二:自動關(guān)閉,即為使用try語句自動關(guān)閉流,部分代碼如下:
// 直接在try()中創(chuàng)建流對象 會默認關(guān)閉
try(FileWriter fw = new FileWriter("test.txt")) {
fw.write("test");
} catch(Exception ex) {
ex.printStackTrace();
}//try..catch語句結(jié)束后自動關(guān)閉
編譯后文件:
注:可以使用該方式關(guān)閉流的前提是對象一定要實現(xiàn)AutoCloseable接口,其原理還是在編譯的時候JDK給我們生成了finally來關(guān)閉流文章來源:http://www.zghlxwxcb.cn/news/detail-535327.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-535327.html
到了這里,關(guān)于java關(guān)閉流的兩種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!