黑马程序员技术交流社区
标题:
请问这段代码的作用是什么。。。
[打印本页]
作者:
菠菜树
时间:
2015-2-28 17:39
标题:
请问这段代码的作用是什么。。。
在书上看到一段代码,前面的代码都能理解,但finally{}内代码的作用不是太清楚,哪位同学能解答一下?
且将该段代码注释掉后运行没遇到什么影响。。。
import java.io.*;
public class SequenceStream{
public static void main(String[] args)throws Exception{
FileInputStream in1=null,in2=null;
SequenceInputStream sequence=null;
FileOutputStream out=null;
try{
File file1=new File("e:\\Java\\demofolder\\file1.txt");
File file2=new File("e:\\Java\\demofolder\\file2.txt");
File file3=new File("e:\\Java\\demofolder\\file3.txt");
in1=new FileInputStream(file1);
in2=new FileInputStream(file2);
sequence=new SequenceInputStream(in1,in2);
out=new FileOutputStream(file3);
int c;
while((c=sequence.read())!=-1){
out.write(c);
}
in1.close();
in2.close();
out.close();
sequence.close();
System.out.println("OK。。。。。。");
}catch(IOException e){
e.printStackTrace();
}
finally{
if(in1!=null)
try{
in1.close();
}catch(IOException e){}
if(in2!=null)
try{
in2.close();
}catch(IOException e){}
if(out!=null)
try{
out.close();
}catch(IOException e){}
if(sequence!=null)
try{
sequence.close();
}catch(IOException e){}
}
}
}
复制代码
作者:
lang
时间:
2015-3-1 11:20
finally{}内代码的作用:程序运行最后一定执行关流动作,不关会占用资源
作者:
菠菜树
时间:
2015-3-2 20:28
lang 发表于 2015-3-1 11:20
finally{}内代码的作用:程序运行最后一定执行关流动作,不关会占用资源
哦,明白了,因为try{}可能会抛出exception,执行不到close(),所以最后一定要执行close()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2