JAVA中IO流之FileWriter

来源:互联网 发布:php is a 编辑:程序博客网 时间:2024/06/03 21:09

好记性不如赖笔头…………

package com.***;import java.io.File;import java.io.FileWriter;import java.io.IOException;/** * @author Ckinghan *  @描述:注意,在创建流对象后,如果文件不存在,在写入时,会自动创建文件 */public class IODemo {    public static void main(String[] args) {        /**         * 创建字符流并写入数据,使用构造方法 FileWriter(File file)         */        writerFile1();        /**         * 创建字符流并写入数据,使用构造方法 FileWriter(String fileName)         */        witerFile2();        /**         * 追加数据并换行          */        writerFileAppend();        /**         * API中FileWriter提供了五种写入数据的方法         */        writerFileType();    }    /**     * @描述:API中FileWriter提供了五种写入数据的方法     * @创建时间:     */    public static void writerFileType(){        FileWriter fileWriter = null;        try {            fileWriter = new FileWriter("JAVA_IO_Writer.java",true);            //第一种写入char数组方式            char[] chars = {'a','b','c','d','e',100};            fileWriter.write("第一种写入char数组方式:");            fileWriter.write(chars);            fileWriter.write("\r\n");            //第二种,写入int方式,注意,数字会通过ascill转换为字符,不会显示你输入的数字            fileWriter.write("第二种写入int方式:");            fileWriter.write(97);            fileWriter.write("\r\n");            //第三种写入String方式            fileWriter.write("第三种写入String方式:写入字符串\r\n");            //第四种写入char数组并指定位置方式            fileWriter.write("第四种写入char数组并指定位置方式");            fileWriter.write(chars, 1, chars.length-1);            fileWriter.write("\r\n");            //第五写入方式:截断字符串            fileWriter.write("--第五写入方式:截断字符串", 2, 12);            fileWriter.flush();        } catch (IOException e) {            e.printStackTrace();        }finally {            if(fileWriter != null){                try {                    fileWriter.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    /**     * @描述:追加写入数据,并换行      * @注意:windows/linux/macOs系统的换行符都不一样     *      *              windows: /r/n  (不能写返,否则效果会不一样)     *              linux:      /n     *              macOs:  /r     *               * @创建时间:     */    public static void writerFileAppend(){        FileWriter fileWriter = null;        try {            fileWriter = new FileWriter("JavaIOWriter.java",true);            for(int i = 0; i < 100; i ++){                fileWriter.write("正在写入第"+(i+1)+"条数据,并使用\\r\\n换行"+"\r\n");                if(i%10 == 0){                    fileWriter.flush();                }            }            fileWriter.flush();        } catch (IOException e) {            e.printStackTrace();        }finally {            if(fileWriter != null){                try {                    fileWriter.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    /**     * @描述:FileWriter创建时,使用构造方法FileWriter(String fileName);     * @创建时间:     */    public static void witerFile2(){        FileWriter fileWriter = null;        try {            //初始化使用的构造方法FileWriter(String fileName)            fileWriter = new FileWriter("JavaTest.java");            //循环输入100次            for(int i = 0; i < 100; i ++){                fileWriter.write("helloWord");                //如果输入了10次,则保存一次                if(i % 10 == 0){                    fileWriter.flush();                }            }            //输入完成后,再次保存            fileWriter.flush();        } catch (IOException e) {            e.printStackTrace();        }finally {            //如果fileWriter有实例化,则关闭流            if(fileWriter != null){                try {                    fileWriter.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    /**     * @描述:创建字符流,并写入数据     *              FileWriter的创建方法常用的构造方法有两种     *              这里是第一种 new FileWriter(File file)     * @创建时间:     */    public static void writerFile1(){        // 创建file类对象        File file = new File("test.java");        //创建文件写入类        FileWriter fileWriter  = null;        try {            //实例化文件写入类            fileWriter  = new FileWriter(file);            //写入数据            fileWriter.write("这是个测试");            //清空缓冲区,因为只有缓冲区被清空或文件流被关闭,写入的数据才会保存到文件 中            fileWriter.flush();        } catch (IOException e) {            //输出异常            e.printStackTrace();        }finally {            //如果对象不为空,关闭字符流            if(fileWriter != null){                try {                    fileWriter.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}
0 0
原创粉丝点击