所有的流,无论是输入流还是输出流,使用完毕后都应该关闭。如果不关闭,会占用资源,当量比较大的时候,影响到业务的正常开展。
(1)在try中关闭
try{
File f=new File("d:/e.txt");
FileInputStream fis=new FileInputStream(f);
byte[]all=new byte[(int)f.length()];
fis.read(all);
for(byte b: all){
System.out.println(b);
}
//在try里关闭流
fis.close();
}catch(IOException e){
e.printStackTrace();
}
(2)在finally中关闭
这是标准的关闭流的方式
1.首先把流的引用声明在try的外面,如果声明在try里面,其作用域无法抵达finally;
2.在finally关闭之前,需要判断该引用是否为空;
3.关闭的时候,需要再一次进行try catch处理
File f= new File("d:/e.txt");
FileInputStream fis=null;
try{
fis=new FileInputStream(f);
byte[] all=new byte[(int)f.length()];
fis.read(all);