A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小虎199406 中级黑马   /  2015-6-30 19:12  /  506 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                                                                                                                               IO流异常处理及分析                       

  今天正好学习到IO流这一块   
       想着技术分不够特地来挣点技术分,
                说的不好请大家见谅
                            有错误的地方大家可以帮忙指出哈

                         首先   来看下写入流的基础代码:      当然也是个错误代码:  没有抛出异常  便于分析而已
                                                                  
  1. import java.io.*;
  2. class   FileWriterException
  3. {
  4.      public static void main(String[] args)      
  5.     {
  6.      FileWriter fw=new FileWriter("demo.txt");
  7.      fw.write("string");
  8.      fw.close();
  9.     }

  10. }
复制代码
因为读写文件调用的都是windows底层的一些程序,所以在穿件一个新的对象的时候new FileWriter()
demo.txt") 如果是建立一个K:\\demo.txt的话 是无法创建一个新的文件的  所以这里会有异常        需要进行处理
以及查看API是能注意到:            (PS:感觉查阅API文档很重要,建议学习的同学能熟悉API文档的查阅以及里面方法的使用)
                                        fw.write("string");     //write()如果持续写入,写满了存储空间 便会爆出异常,所以也需要处理         
                                        fw.close();

这两个方法都会有IOException异常抛出 :既需要处理
                  这样处理完之如果write() 爆出异常  停止  : fw.close无法启动结束数据流  而且close()是必须要运行的所以需要放入finally中被必须执行
        
  1. import java.io.*;
  2. class FileWriterException
  3. {
  4.           public static void main(String[] args)
  5.          {
  6.              try
复制代码
  使用代码编译出错  在fw.close中找不到 fw   因为fw存在  因为finally代码块中访问不到第一个代码块中的数据,所以需要把FileWrite对象转移到整个代码块能访问到的区域;即
  1. FileWriter fw=null
  2. try{
  3. fw = FileWriter fw=new       FileWriter("demo.txt");
  4. fw.write("string");

  5. }
复制代码
编译之后错误提示 fw.close()需要声明异常 即需要处理   立马try了它;
  1. import java.io.*;
  2. class  IoWriter1
  3. {
  4.         public static void main(String[] args)
  5.        {
复制代码
这样整个异常就处理完了;
       整个异常处理过程中 ,用到的其实也就是思维方式,多面观察问题的存在,吧暴露在外面有可能会出现的问题处理掉
         虽然不知道是不是但个人觉得这就是java的一种思想理念

                              写的不咋地,如果写错了麻烦指正下                大家一起交流交流


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马