欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

io關(guān)閉代碼java ios關(guān)閉java

Java中的io流關(guān)閉問題

如下例子代碼:

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站設(shè)計制作、成都做網(wǎng)站服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)公司將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

FileInputStream is = new FileInputStream(".");

BufferedInputStream bis = new BufferedInputStream(is);

bis.close();

從設(shè)計模式上看:

java.io.BufferedInputStream是java.io.InputStream的裝飾類。

BufferedInputStream裝飾一個 InputStream 使之具有緩沖功能,is要關(guān)閉只需要調(diào)用最終被裝飾出的對象的 close()方法即可,因為它最終會調(diào)用真正數(shù)據(jù)源對象的 close()方法。

BufferedInputStream的close方法中對InputStream進行了關(guān)閉,下面是jdk中附帶的源代碼:

java.io.BufferedInputStream的api:

close

public void close()throws IOException 關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。

因此,可以只調(diào)用外層流的close方法關(guān)閉其裝飾的內(nèi)層流,驗證例子:

public static void main(String[] args) throws Exception {

FileOutputStream fos = new FileOutputStream("d:\\a.txt");

OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

BufferedWriter bw = new BufferedWriter(osw);

bw.write("java IO close test");

bw.close();

}

驗證ok

關(guān)于java中io流的關(guān)閉問題,部分代碼,這種情況用不用關(guān)閉new FileReader(file)?

是的,你的new FileReader(file)是一個匿名對象。

JVM中對于那些打開了沒有關(guān)閉的IO文件流,會在不再被使用的情況下,等到下次做Full GC的時候把他們?nèi)炕厥眨M量少使用這種寫法。文章來自:

java中IO流操作怎樣關(guān)閉流

如果 in == null,就說明 in這個引用所指向的對象還沒有被創(chuàng)建,自然 in.close()也就不可能被執(zhí)行,而且會報異常。我是這樣想的,程序中 如果你先聲明變量

InputStream(或者其他流類型) in = null;

然后執(zhí)行其他語句,再 in = new 、、、、

在in new之前其他語句出exception,這時流沒有被打開,也就無需關(guān)閉,如果不判斷if(null != in) 硬要關(guān)閉in就出exception

另外你的代碼按如下寫會更合理:

if(null != in){

try{

in.flush();

in.close();

in = null;

}

catch(IOExection e){};

}

文章題目:io關(guān)閉代碼java ios關(guān)閉java
網(wǎng)頁地址:http://www.chinadenli.net/article40/dddsgeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站內(nèi)鏈網(wǎng)站設(shè)計用戶體驗標(biāo)簽優(yōu)化網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司