Java 7试用资源
Java 7为完成使用后需要关闭的资源(例如文件,流,数据库连接和套接字)提供了更好的资源管理。 这种语言构造称为try-with-resources语句。 完成这项工作的机制称为AutoCloseable接口。 Java 7资源类均实现此接口。 该接口的签名如下所示:
public interface AutoCloseable {void close() throws Exception;
}
它声明了一个方法close(),该方法在try-with-resources语句管理的对象上自动调用。
尽管Java 7资源类实现了此接口,但是您使用的库在很多时候都不会这样做,因为库没有更新为使用AutoCloseable接口,或者项目无法简单地更新为较新的版本。
大多数情况下,这很容易解决。 只是将应该能够参与try-with-resources语句的资源子类化。 以ITextRenderer(形成“飞碟”项目)为例。 使用ITextRenderer完成工作后,应调用finishPDF()方法。 通常,您将在finally块中执行此操作。 通过创建一个从ITextRenderer扩展的新类并实现AutoCloseable接口,该类可以参与自动资源管理。 AutoCloseableITextRenderer如下所示:
public class AutoCloseableITextRenderer extends ITextRenderer implements AutoCloseable {@Overridepublic void close() {super.finishPDF();}
}
扩展原始类最有意义,因为子类是 ITextRenderer。 如果由于类是最终类而无法扩展,则可以使用composition。
这就是您将如何使用它:
try (final AutoCloseableITextRenderer iTextRenderer = new AutoCloseableITextRenderer()) {ByteArrayOutputStream out; // contains the data to be converted to PDF, not shown here.iTextRenderer.setDocumentFromString(new String(out.toByteArray()));iTextRenderer.layout();iTextRenderer.createPDF(pdfOutputStream);pdfOutputStream.flush();}
就这样。 请注意,我没有从AutoCloseableITextRenderer中的close()方法引发异常。 AutoCloseable接口的Javadoc对此说明如下:
虽然声明此接口方法引发{@code Exception},但强烈建议实现者声明{@code close}方法的具体实现以引发更具体的异常,或者,如果close操作不会失败,则根本不引发任何异常。
翻译自: https://www.javacodegeeks.com/2013/07/java-7-try-with-resources.html
Java 7试用资源相关推荐
- 试用期java_Java试用资源
试用期java Today we will look into Java Try with Resources. One of the Java 7 feature is try-with-resou ...
- Java官方相关资源文件的获取教程
Java官方相关资源文件的获取教程 说明 类库源文件的获取 JDK文档的下载 阅读联机API文档 Java语言和虚拟机规范:Java Language and Virtual Machine Spec ...
- jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...
- Java中获取资源文件路径
Java路径 Java中使用的路径,分为两种:绝对路径和相对路径.具体而言,又分为四种: 一.URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpm ...
- 2022年最新整理,动力节点Java自学全套资源
今天整理了java开发的学习路线和相关的学习视频资源,非常适合零基础入门java的小伙伴,希望大家在学习的时候,能够节省时间. 这里有你需要掌握的所有前沿技术,史上最全的Java学习路线资源,从基础到 ...
- Java获取静态资源文件路径
Java获取静态资源文件路径 开发中经常会有文件相关的操作,比如说文件的查找,文件的存储.但是在使用中往往会因为路径问题耽误大量的开发时间.在实际中常常通过File file = new File ...
- 悟空CRM 开源版java版 uniapp资源
悟空CRM 开源版java版 uniapp资源 需要私聊
- java是所有资源文件的索引_《Java程序设计》课程教学资源索引
<Java程序设计>课程教学资源索引 说明: 本课程针对零Java编程基础的计算机专业学生,前提是学过C语言. 课程主要讲授J2SE,教学目的是带领学生迈入Java开发的大门,初步理解和把 ...
- Android APK反编译得到Java源代码或资源文件
一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源 ...
最新文章
- springboot读取linux文件_SpringBoot读取Resource下文件的几种方式
- 【转载】使用javassist动态注入代码
- [Java基础]Stream流的收集操作
- 【CodeForces - 675C】Money Transfers(思维,前缀和)
- retinex 的水下图像增强算法_图像增强论文:腾讯优图CVPR2019
- 百度正用谷歌AlphaGo,解决一个比围棋更难的问题 | 300块GPU在燃烧
- 仿蜜雪冰城点餐小程序
- app三种工具的元素定位与swipe 滑动
- 去雾算法学习-----Automatic recovery of the atmospheric light hazy image(fattal 大气光值自适应去雾算法)阅读笔记
- eclipse安装wtp
- 多视几何 003 二次曲线
- 为什么我的word一联网打开就很慢,不联网时打开却正常,打印设置问题导致office打开慢
- 好用的工具推荐一下js美化代码
- 手机账本软件哪些可以实现随手记录
- 推荐一款国内首个开源线上全链路压测平台
- T3054 高精度练习-文件操作 codevs
- 【软件测试-7】 自动化测试selenium篇(一)
- 修改Win7工具栏资源管理器打开后的默认路径
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
- 中国养老公寓行业深度调研及未来需求预测分析报告2022年版
热门文章
- 基础笔试编程题(jz)
- Flex布局 让你的布局更完美
- Ubuntu下apt-get方式Git的安装、配置和更新
- annotations_Spring Annotations我从来没有机会使用第2部分:@ConfigurationProperties
- spring 注释_Spring @Value注释
- jvm虚拟机内存结构_JVM体系结构101:了解您的虚拟机
- java 哈希算法_选择Java密码算法第1部分-哈希
- 基于docker微服务架构_使用基于微服务的流架构更好地进行大规模的复杂事件处理(第1部分)...
- cks32和stm32_cks子,间谍,局部Mo子和短管
- 使用Selenium WebDriver测试自动化的22条实用技巧