gpt4 book ai didi

java - try-with-resources 或 close() 困境

转载 作者:行者123 更新时间:2023-11-29 07:55:43 26 4
gpt4 key购买 nike

我有一个可以抛出 IOException 的函数,所以我没有在内部捕获异常。但是我有一些资源要关闭。这样做是否正确,使用 try-with-resource(没有任何 catch block ):

public void workOnFiles() throws IOException {

try(FileInputStream fis = new FileInputStream("bau.txt");) {
// Do some stuff
}
}

或者我应该这样做:

public void workOnFiles() throws IOException {

FileInputStream fis = new FileInputStream("bau.txt");
// Do some stuff
fis.close();
}

最佳答案

在第 2 个中,如果抛出异常,您的 fis 将不会关闭。一个选项是将可以抛出异常的语句包含在 try block 中,并在 finally block 中关闭 fis

但是,因为您已经在使用 Java 7,所以您应该使用 try-with-resource .

关于java - try-with-resources 或 close() 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906447/

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