1、java新型异常处理方式
今天偶然发现java的try catch尽然有了c#中using的作用,突然发现自己没有跟上java的步伐了,今天就转一篇@红薯的文章,免得以后用的时候又找不到了。
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。
新的语句支持包括流以及任何可关闭的资源,例如,一般我们会编写如下代码来释放资源:
private static void customBufferStreamCopy(File source, File target) { //在最后不用再finally中释放资源了,能这样写的前提是要自动释放资源的类必须实现java.lang.AutoCloseable 接 //口 try (InputStream fis = new FileInputStream(source); OutputStream fos = new FileOutputStream(target)){ byte[] buf = new byte[8192]; int i; while ((i = fis.read(buf)) != -1) { fos.write(buf, 0, i); } } //也可以处理多个异常eg: //catch (IoException | NullPointerException) catch (Exception e) { e.printStackTrace(); }}
以后要多用了。