/*
JDk1.7之前的异常处理
*/
public class demo10 {
public static void main(String[] args) {
//提高变量fw的作用域
FileWriter fw=null;
try{ //可能会产生异常的代码
fw = new FileWriter("D:\\IdeaProjects\\basic-code\\aaaa\\qaq.txt",true);//加上appen:true
// 续写
for (int i = 0; i < 10; i++) {
fw.write("hello"+i+"\r\n"); //windows换行 \r\n linux:/n mac:/r
}
}catch (IOException e){
System.out.println(e);
}finally {
if(fw!=null){
try {
fw.close(); //释放资源
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
/*
JDK7处理异常
在try的后边增加一个(),括号中定义流对象
这个流对象的作用域在try中有效
try代码执行完,自动把流对象释放,不用finally
*/
public class demo11 {
public static void main(String[] args) {
try(FileWriter fw = new FileWriter("D:\\IdeaProjects\\basic-code\\aaaa\\qaq.txt",true);){
for (int i = 0; i < 10; i++) {
fw.write("hello"+i+"\r\n"); //windows换行 \r\n linux:/n mac:/r
}
}catch (IOException e){
System.out.println(e);
}
}
}
/*
JDK9新特性
try的前边可以定义流对象
try后边的()可以直接引入流对象的名称(变量名)
在try代码执行之后 流对象可以释放掉 不用写finally
*/
public class demo12JDK9 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("D:\\IdeaProjects\\basic-code\\aaaa\\qaq.txt",true);
try(fw){
for (int i = 0; i < 10; i++) {
fw.write("hello"+i+"\r\n"); //windows换行 \r\n linux:/n mac:/r
}
}catch(IOException e){
System.out.println(e);
}
}
}