Java尝试最终阻止关闭流

Java尝试最终阻止关闭流,第1张

Java尝试最终阻止关闭流

似乎有点笨拙。

它是。至少java7尝试使用资源可以解决该问题。

在java7之前,您可以创建一个

closeStream
吞咽它的函数

public void closeStream(Closeable s){    try{        if(s!=null)s.close();    }catch(IOException e){        //Log or rethrow as unchecked (like RuntimException) ;)    }}

或将try …最终放入try catch中:

try{    BufferedReader r = new BufferedReader(new InputStreamReader(address.openStream()));    try{        String inLine;        while ((inLine = r.readLine()) != null) { System.out.println(inLine);        }    }finally{        r.close();    }}catch(IOException e){    e.printStackTrace();}

它比较冗长,并且finally中的异常会在try中隐藏一个,但从语义上讲它更接近Java 7中引入的try-with-
resources



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5438876.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存