是的,使用它是安全的,但仅适用于Java6及更低版本。从Java7 开始,您应该使用try-with-resource。
它将消除您拥有的大部分样板代码以及使用IOUtils.closeQuietly
.
现在,你举个例子:
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
try {
bw.write("test");
} finally {
IOUtils.closeQuietly(bw);
}
可以写成:
try (BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"))) {
bw.write("test");
}
需要注意的是,为了使用 try-with-resource 方法,您的资源需要实现 Java 7 中引入的名为 java.lang.AutoCloseable 的新接口。
此外,您可以在 try-with-resource 块中包含许多资源,只需将它们用;
try (
BufferedWriter bw1 = new BufferedWriter(new FileWriter("test1.txt"));
BufferedWriter bw2 = new BufferedWriter(new FileWriter("test2.txt"))
) {
// Do something useful with those 2 buffers!
} // bw1 and bw2 will be closed in any case