在使用文件、IO流、数据库连接等不会自动释放的资源时,应该在使用完毕后马上将其关闭。关闭资源的代码try...catch...finally的finally内执行,否则可能造成资源无法释放。
案例:
FileWriter fileWriter = new FileWriter("");
fileWriter.append(product.toString());
// 如果append()抛出异常,close()方法就不会执行,造成IO流长时间无法释放
fileWriter.close();
FileWriter fileWriter = null;
try
{
fileWriter = new FileWriter("");
fileWriter.append(product.toString());
}
catch (IOException e)
{
...
}
finally
{
// 不管前面是否发生异常,finally中的代码一定会执行
if (fileWriter != null)
{
try
{
fileWriter.close();
}
catch (IOException e)
本文深入解析了在Java中进行文件、IO流、数据库连接操作时,如何确保资源正确释放,避免资源泄露的问题。通过具体案例演示了使用try...catch...finally语句确保资源关闭的重要性。
227

被折叠的 条评论
为什么被折叠?



