首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用try-catch-finally的Java7 try-with-resources字节码等价物是什么?

使用try-catch-finally的Java7 try-with-resources字节码等价物是什么?
EN

Stack Overflow用户
提问于 2011-10-22 22:12:36
回答 1查看 12K关注 0票数 22

我试图通过使用常规的try-catch-finally语句重新创建新的try-with-resources statement来理解它是如何工作的。给定以下使用Java 7 try-with-resources的测试类:

import java.io.IOException;
import java.util.zip.GZIPOutputStream;

public class TryWithResources {
    public static void main(String[] args) {
        try (GZIPOutputStream gzip = new GZIPOutputStream(System.out)) {
            gzip.write("TEST".getBytes("UTF-8"));
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

如何重写该类以使用try-catch-finally语句,该语句生成的字节码与try-with-resources语句生成的字节码完全相同?同样,当使用两个资源时,也会出现同样的问题,如下例所示:

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

public class TryWithResources2 {
    public static void main(String[] args) {
        try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
                GZIPOutputStream gzip = new GZIPOutputStream(baos)) {
            gzip.write("TEST".getBytes("UTF-8"));
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7860137

复制
相关文章

相似问题

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