首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我是否正确地使用了Java 7 try-with-resources

我是否正确地使用了Java 7 try-with-resources
EN

Stack Overflow用户
提问于 2013-07-15 17:32:45
回答 2查看 63.8K关注 0票数 88

如果抛出异常,我期望缓冲的读取器和文件读取器关闭并释放资源。

代码语言:javascript
复制
public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{
    try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
    {
        return read(br);
    } 
}

但是,是否需要有catch子句才能成功关闭?

编辑:

从本质上讲,上面的Java 7代码等同于Java 6的下面代码:

代码语言:javascript
复制
public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{

    BufferedReader br = null;

    try
    {
        br = new BufferedReader(new FileReader(filePath));

        return read(br);
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        try
        {
            if (br != null) br.close();
        }
        catch(Exception ex)
        {
        }
    }

    return null;
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17650970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档