字符打印流PrintWriter运行示例

测试两个构造方法

PrintWriter(String fileName) 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。

 public PrintWriter(OutputStream out,boolean autoFlush) 从现有的OutputStream创建一个新的PrintWriter。如果真的println,printfformat方法将刷新输出缓冲区

在使用第一个构造方法时,我们来调用父类就有的write方法来测试

public static void main(String[] args) throws IOException {
        //PrintWriter(String fileName) 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。
        PrintWriter pw = new PrintWriter("myFile\\pw.txt");

        //使用父类方法
        pw.write("hello");
        pw.write("\r\n");

    }

运行结果:

 

 从运行结果发现,并没有数据被输出,原因在于字符流需要调用flush来刷新流

public static void main(String[] args) throws IOException {
        //PrintWriter(String fileName) 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。
        PrintWriter pw = new PrintWriter("myFile\\pw.txt");

        //使用父类方法
        pw.write("hello");
        pw.write("\r\n");
        pw.flush();
    }

在调用flush方法后的运行结果:

 

 

接下来测试第二个构造方法

public static void main(String[] args) throws IOException {// public PrintWriter(OutputStream out,boolean autoFlush) 从现有的OutputStream创建一个新的PrintWriter。
        PrintWriter pw = new PrintWriter(new FileWriter("myFile\\\\pw.txt"),true);

        pw.println("hello");
    }

运行结果:

 

 通过此构造方法我们可以控制是否自动刷新

posted @ 2020-04-22 17:18  硬盘红了  阅读(202)  评论(0编辑  收藏  举报