zoukankan      html  css  js  c++  java
  • Java IO异常处理方式

    public class IOException{
    
        // 获取系统默认的行分隔符
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    
        public static void main(String[] args){
    
            try{
                FileWriter fw = new FileWriter("test.md");
    
                fw.write("abc"+LINE_SEPARATOR+"haha");
    
            } catch (IOException){
                    System.out.println(e.toString());
            } finally{
                fw.close(); // 此时, fw 是局部变量, 只在 try 内部有效, 此时 fw 属于未定义变量
            }
        }
    }
    
    // 改进第一步:
    
    public class IOException{
    
        // 获取系统默认的行分隔符
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    
        public static void main(String[] args){
    
            FileWriter fw = null; // 创建流对象
            try{
                // 流对象初始化
                fw = new FileWriter("k:\test.md");
    
                fw.write("abc"+LINE_SEPARATOR+"haha");
    
            } catch (IOException){
                    System.out.println(e.toString());
            } finally{
                try{
                    fw.close();// 此处有可能出现关闭失败的异常, 所以也许要 try catch
                } catch (IOException e){
                    throw new RuntimeException("关闭失败");
                }
            }
        }
    }
    
    // 运行上述程序:
    
    public class IOException{
    
        // 获取系统默认的行分隔符
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    
        public static void main(String[] args){
    
            FileWriter fw = null;
            try{
                // 流对象初始化
                fw = new FileWriter("k:\test.md"); // 此处出现异常: FileNotFoundException
                                                    // 该异常是 IOException 的子类
    
                fw.write("abc"+LINE_SEPARATOR+"haha");
    
            } catch (IOException){
                    System.out.println(e.toString);
            } finally{
                try{
                    fw.close();  // 由于文件没有创建成功, 因此此处抛出 NUllPointerException
                } catch (IOException e){
                    throw new RuntimeException("关闭失败");
                }
            }
        }
    }
    
    // 改进第二步:
    
    public class IOException{
    
        // 获取系统默认的行分隔符
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    
        public static void main(String[] args){
    
            FileWriter fw = null;
            try{
                // 流对象初始化
                fw = new FileWriter("k:\test.md"); // 此处出现异常: FileNotFoundException
                                                    // 该异常是 IOException 的子类
    
                fw.write("abc"+LINE_SEPARATOR+"haha");
    
            } catch (IOException){
                    System.out.println(e.toString);
            } finally{
                if(fw != null) // 增加一条判断语句
                try{
                    fw.close();  
                } catch (IOException e){
                    throw new RuntimeException("关闭失败");
                }
            }
        }
    }
    
    

    参考资料:

  • 相关阅读:
    文件打包下载
    DES加密解密
    jQuery实现表格拖动排序
    jQuery实现星星评分功能
    问卷调查功能中的题目编辑功能
    使用JS或jQuery模拟鼠标点击a标签事件
    zTree的使用
    给文本框添加模糊搜索功能(“我记录”MVC框架下实现)
    表达式计算器的实现
    asp.net几种开源上传控件,flash,ajax版,支持多文件
  • 原文地址:https://www.cnblogs.com/linkworld/p/7502213.html
Copyright © 2011-2022 走看看