java学习(处理流中的异常)
流中的异常的处理
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);
}
