IO流异常处理及分析
今天正好学习到IO流这一块
想着技术分不够特地来挣点技术分,
说的不好请大家见谅
有错误的地方大家可以帮忙指出哈
首先 来看下写入流的基础代码: 当然也是个错误代码: 没有抛出异常 便于分析而已
- import java.io.*;
- class FileWriterException
- {
- public static void main(String[] args)
- {
- FileWriter fw=new FileWriter("demo.txt");
- fw.write("string");
- fw.close();
- }
- }
复制代码 因为读写文件调用的都是windows底层的一些程序,所以在穿件一个新的对象的时候new FileWriter()
demo.txt") 如果是建立一个K:\\demo.txt的话 是无法创建一个新的文件的 所以这里会有异常 需要进行处理
以及查看API是能注意到: (PS:感觉查阅API文档很重要,建议学习的同学能熟悉API文档的查阅以及里面方法的使用)
fw.write("string"); //write()如果持续写入,写满了存储空间 便会爆出异常,所以也需要处理
fw.close();
这两个方法都会有IOException异常抛出 :既需要处理
这样处理完之如果write() 爆出异常 停止 : fw.close无法启动结束数据流 而且close()是必须要运行的所以需要放入finally中被必须执行
- import java.io.*;
- class FileWriterException
- {
- public static void main(String[] args)
- {
- try
复制代码 使用代码编译出错 在fw.close中找不到 fw 因为fw存在 因为finally代码块中访问不到第一个代码块中的数据,所以需要把FileWrite对象转移到整个代码块能访问到的区域;即- FileWriter fw=null
- try{
- fw = FileWriter fw=new FileWriter("demo.txt");
- fw.write("string");
- }
复制代码 编译之后错误提示 fw.close()需要声明异常 即需要处理 立马try了它;
- import java.io.*;
- class IoWriter1
- {
- public static void main(String[] args)
- {
复制代码 这样整个异常就处理完了;
整个异常处理过程中 ,用到的其实也就是思维方式,多面观察问题的存在,吧暴露在外面有可能会出现的问题处理掉
虽然不知道是不是但个人觉得这就是java的一种思想理念
写的不咋地,如果写错了麻烦指正下 大家一起交流交流
|
|