黑马程序员技术交流社区
标题:
JDK1.7中关闭流的新方法
[打印本页]
作者:
~与狼共舞~
时间:
2013-5-20 23:38
标题:
JDK1.7中关闭流的新方法
在JDK1.7之前,关闭流有时候会非常麻烦,有时需要嵌套好多层,在JDK1.7之后出现了一种新的语法可以让代码书写简化不少。
import java.io.*;
public class CopyByBuffer {
public static void main(String[] args) throws IOException {
try ( // 把需要使用的资源在小括号中定义, 自动关闭的对象必须实现AutoCloseable接口
FileInputStream fis = new FileInputStream("file/taylor.jpg");
FileOutputStream fos = new FileOutputStream("file/copy.jpg");
MyStream ms = new MyStream();
) {
byte[] buffer = new byte[1000];
int length;
while ((length = fis.read(buffer)) != -1)
fos.write(buffer, 0, length);
} // 不需要手动关闭流,大括号执行结束之后, 会把小括号中创建的资源自动关闭
}
}
class MyStream implements AutoCloseable {
public void close() {
System.out.println("关闭自己的流!");
}
}
复制代码
作者:
xiewen
时间:
2013-5-20 23:51
这个有点像C#语言,挺好的,顶起
黑马云青年为您解答
作者:
Miss小强
时间:
2013-5-21 00:17
噢,学习了。。。我就用的1.7的怎么就不知道呢。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2