流中的异常的处理
jdk7的新特性:
在try后面增加一个(),在括号可以定义流对象,
那么这个流对象的作用域就在try中有效
try中的代码执行完毕,会自动把流对象释放,不要写finally
格式:
try(定义流对象,定义流对象…){
可能会产生异常的代码
}
catch(异常类变量名 变量名)
{
异常的逻辑代码
}
try(FileInputStream fis=new FileInputStream("Z:\\zlb\\b\\z.txt");
FileOutputStream fos=new FileOutputStream("Z:\\zlb\\b\\bbb.txt");
){
int len=0;
byte [] bytes=new byte[1024];
while((len=fis.read(bytes))!=-1)
{
System.out.println(new String(bytes,0,len));
fos.write(bytes,0,len);
}
}catch (IOException e){
System.out.println(e);
}
jdk9的新特性:
在try后面增加一个(),在括号可以定义流对象,
那么这个流对象的作用域就在try中有效
try中的代码执行完毕,会自动把流对象释放,不要写finally
格式:
A a=new A();
B b=new B();
try(a;b){
可能会产生异常的代码
}
catch(异常类变量名 变量名)
{
异常的逻辑代码
}
FileInputStream fis=new FileInputStream("Z:\\zlb\\b\\z.txt");
FileOutputStream fos=new FileOutputStream("Z:\\zlb\\b\\bbb.txt");
try(fis;fos){
int len=0;
byte [] bytes=new byte[1024];
while((len=fis.read(bytes))!=-1)
{
System.out.println(new String(bytes,0,len));
fos.write(bytes,0,len);
}
}catch (IOException e){
System.out.println(e);
}