JDK 1.7 引入了 java.lang.AutoCloseable 接口,用来自动关闭像InputStream,OutputStream这样的一些资源,只要该类实现了此接口 就可以使用 try-catch-resource 块将声明部分包括在其中,执行完毕后资源会自动关闭,没有必要再去写 in.close() 类似的代码。
这样的好处是:在手动释放jdbc连接的时候,需要关闭 Connection,Statement,ResultSet 这样的资源,需要嵌套多个try-catch。
使用方式: 多个语句之间用分号分隔
一个简单的读取文件的例子:
public class TryCatch {
public static void main(String[] args) throws Exception {
File file = new File("/devlp/file.txt");
try (FileInputStream fis = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(fis);
) {
char[] buffer = new char[1024];
int read =0;
while((read =reader.read(buffer))!=-1){
System.out.println(new String(buffer,0,read));
}
}
}
}
分享到:
相关推荐
- **多catch语句块(Multiple Catch Blocks)**: 允许在一个`try-catch`块中捕获多种类型的异常,简化了异常处理代码。 - **钻石操作符(Diamond Operator)**: 自动推断构造函数中的泛型类型,如`new ArrayList()...
2. **尝试-finally 改进**: 在Java 7中,`try-catch-finally`语句块得到了优化,允许在`try`块中定义多个资源,它们会在`finally`块中自动关闭,这就是所谓的"自动资源管理"(Automatic Resource Management, ARM)...
在JDK 1.7之前,Java程序员需要为每种可能抛出的异常分别写一个catch块。1.7引入了多catch语句,允许开发者在一个catch块中处理多个不同类型的异常,提高了代码的可读性和简洁性。 ```java try { // 代码块 } ...
代码用扫描工具扫出来问题,发现是try-catch-finally的另一种写法try-with-resource,发现这种写法优雅,代码量减少1/3(finally里面不用写close)这样就看的不那么臃肿了。因为上传,下载的时候有可能会创建input ...
Java 7引入了一些重要特性,如try-with-resources语句、多catch块、动态类型语言支持(invokedynamic)等,提升了开发效率和代码质量。 为了在Linux环境中安装这两个组件,你需要按照以下步骤操作: 1. 首先,解压...
mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。 首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以...