package cn.itcast.ioexception.demo;
import java.io.FileWriter;
import java.io.IOException;
public class IOExceptionDemo {
private static final String LINE_SEPARATOR = System
.getProperty("line.separator");
public static void main(String[] args) {
/**
* 流对象的异常处理方式,是在try外面创建引用变量,在try里面进行对象的初始化,最终都要close流,那么将close()放入finally
* 代码块中
*/
FileWriter fw = null;
try {
fw = new FileWriter("k:\\demo.txt");
fw.write("abcde" + LINE_SEPARATOR + "haha");
} catch (IOException e) {
throw new RuntimeException("路径不存在");
}finally{
if(fw!=null){//这里为什么要判断空指针?
//因为如果不判断,会抛出NullPointerException,原因是k:\\demo.txt不存在k盘,new不了对象,
//那么fw=null,故有空指针异常
try {
fw.close();//close语句得单独处理,若该语句不用try-catch,那么会报错
} catch (IOException e) {
//code...
throw new RuntimeException("关闭失败");
}
}
}
}
}
20-IO流-05-IO流(字符流-FileWriter-IO异常处理)
最新推荐文章于 2024-03-17 10:25:53 发布