字符打印流PrintWriter运行示例
测试两个构造方法
PrintWriter(String fileName)
使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。public PrintWriter(OutputStream out,boolean autoFlush) 从现有的OutputStream创建一个新的PrintWriter。如果真的话 , println,printf或format方法将刷新输出缓冲区
在使用第一个构造方法时,我们来调用父类就有的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"); }
运行结果:
通过此构造方法我们可以控制是否自动刷新
学习的博客多用于在笔记中,防止笔记过于臃肿,所以将样例及运行结果放在博客中,后以超链接的形式记录在笔记中,所以有些博文过于单薄。如果有小伙伴遇到问题欢迎评论,看到就会回复,学渣一枚,加油努力。