我目前正在java中做这样的事情来释放资源。我需要在 BufferedWriter 对象上调用 close 还是在析构函数中调用它?关于 Resource1 和 Resource2,我必须恭敬地调用 release 和 free。这是嵌套尝试的正确方法吗?Python 有一个非常好的“with 语句”,它将资源与代码范围相关联。java有喜欢的吗?
Resource1 r1 = new Resource1();
try
{
...
Resource2 r1 = new Resource2();
try
{
...
java.io.BufferedWriter f = new java.io.BufferedWriter(new java.io.FileWriter(new java.io.File("f")));
try
{
...
}
finally
{
f.close();
}
}
finally
{
r2.release();
}
}
finally
{
r1.free();
}
更新: 我正在使用 Java 1.6