gpt4 book ai didi

java try finally 阻止关闭流

转载 作者:IT老高 更新时间:2023-10-28 21:04:21 28 4
gpt4 key购买 nike

我想在 finally block 中关闭我的流,但它会抛出一个 IOException 所以我似乎必须在我的 finally 中嵌套另一个 try block block 以关闭流。这是正确的方法吗?好像有点笨重。

代码如下:

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


}

最佳答案

此外,如果您使用的是 Java 7,您可以使用 try-with-resources statement :

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

关于java try finally 阻止关闭流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224658/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com