其他分享
首页 > 其他分享> > 字符输出流的续写和换行以及处理流中的异常

字符输出流的续写和换行以及处理流中的异常

作者:互联网

字符输出流的续写和换行

续写:追加写:使用两个参数的构造方法

  FileWriter(String fileName,boolean)

  FileWriter(File file,boolean append)

  参数:

    String fileName,File file写入数据的目的地

    boolean append:续写开关

      true:不会创建新的文件覆盖源文件,可以续写;

      false:创建新的文件覆盖源文件

public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("d.txt",true);
for (int i = 0; i < 10; i++) {
fw.write("HellWorld"+i);
}
fw.close();
}

文件中内容:

 

 

换行:换行符号
windows:\r\n
linux:/n
mac:/r

    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("d.txt",true);
        for (int i = 0; i < 10; i++) {
            fw.write("HellWorld"+i+"\r\n");
        }
        fw.close();
    }

文件内容:

 

 

 

 

 

 

 

 

使用try_cath_finally处理流中的异常

在JDK1.7之前使用try_catch_finally处理流中的异常

格式:
try{
  可能会产生异常的代码
}catch(异常类变量 变量名){
  异常的处理逻辑
}finally{
  一定会执行的代码
  资源释放
}

 public static void main(String[] args) {
        //提高fw的作用域,让finally可以使用
        FileWriter fw=null;
        try {
            //可能会产生异常的代码
            fw = new FileWriter("d.txt",true);
            for (int i = 0; i < 10; i++) {
                fw.write("HellWorld"+i+"\r\n");
            }
        } catch (IOException e) {
            //异常的处理逻辑
            System.out.println(e);
        } finally {
            //一定会执行的代码
            // 创建对象失败了,fw默认值就是null,null是不能调用方法的,会抛出NullPointerException,需要加一个判断,不是Null再释放
            if (fw!=null) {
                try {
                    //fw.close方法声明抛出了IOException异常对象,所以我们就要处理这个异常对象,要么throws,要么try——catch
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

 

标签:fw,换行,异常,流中,try,finally,IOException,FileWriter,续写
来源: https://www.cnblogs.com/xjw12345/p/16477363.html