package IODemo;
/*
try {
可能出现的异常代码;
}catch (异常类名 变量名){
处理异常的代码;
}finally {
执行所有清除操作
}
*/
import java.io.*;
public class TestDemo_01 {
public static void main(String[] args) {
//第一次处理
// try {
// FileOutputStream fo = new FileOutputStream("D:\\JavaProject\\JavaSE\\javase.txt");
// fo.write("hello".getBytes());//如果这里出错了,下边的close代码就不会执行,占用的系统资源不会释放
// fo.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
//第二次处理
// try {
// FileOutputStream fo = new FileOutputStream("D:\\JavaProject\\JavaSE\\javase.txt");
// fo.write("hello".getBytes());
// } catch (IOException e) {
// e.printStackTrace();
// }finally {
// fo.close();//这里fo 会是红色的编译错误。因为 创建fo可能失败,fo没有被初始化
// }
//第三次处理
// FileOutputStream fo = null;
// try {
// fo = new FileOutputStream("DD:\\JavaProject\\JavaSE\\javase.txt");
// //java.io.FileNotFoundException: DD:\JavaProject\JavaSE\javase.txt
// // (文件名、目录名或卷标语法不正确。) 因为DD盘根本不存在
// fo.write("hello".getBytes());
// } catch (IOException e) {
// e.printStackTrace();
// }finally {
// //NullPointerException 空指针异常,因为上边的fo对象创建失败,再用fo.close()肯定是
// //空指针异常啊,所以还需要再加一段代码
// fo.close();//这里会报错,fo创建失败会无法使用
// }
//第四次处理
// FileOutputStream fo = null;
// try {
// fo = new FileOutputStream("DD:\\JavaProject\\JavaSE\\javase.txt");
// //java.io.FileNotFoundException: DD:\JavaProject\JavaSE\javase.txt
// // (文件名、目录名或卷标语法不正确。) 因为DD盘根本不存在
// fo.write("hello".getBytes());
// } catch (IOException e) {
// e.printStackTrace();
// }finally {
//NullPointerException 空指针异常,因为上边的fo对象创建失败,是null,用null调close()肯定是
//空指针异常啊,所以还需要再加一段代码
// try {
// fo.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//第五次处理
FileOutputStream fo = null;
try {
fo = new FileOutputStream("DD:\\JavaProject\\JavaSE\\javase.txt");
//java.io.FileNotFoundException: DD:\JavaProject\JavaSE\javase.txt
// (文件名、目录名或卷标语法不正确。) 因为DD盘根本不存在
fo.write("hello".getBytes());
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fo!=null) {
try {
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
IO流处理异常
最新推荐文章于 2022-11-07 09:50:53 发布