学习PrintWriter类[通俗易懂]

学习PrintWriter类[通俗易懂]java.io包1)首先先知道它的八种构造方法,但怎么记住这八种呢?我们都知道PrintWriter是一种过滤流,也叫处理流。也就是能对字节流和字符流进行处理,所以它会有:PrintWriter(OutputStreamout) 根据现有的OutputStream创建不带自动行刷新的新PrintWriter。PrintWriter(Writerout) 创建不带自动行刷新

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

java.io包

1)首先先知道它的八种构造方法,但怎么记住这八种呢?我们都知道PrintWriter是一种过滤流,也叫处理流。也就是能对字节流和字符流进行处理,所以它会有:

PrintWriter(OutputStream out)  根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。

PrintWriter(Writer out)  创建不带自动行刷新的新 PrintWriter。


  这两种构造方法。由于PrintWriter能够实现自动刷新所以又衍生出另两种:

PrintWriter(OutputStream out, boolean autoFlush)  通过现有的 OutputStream 创建新的 PrintWriter。

PrintWriter(Writer out, boolean autoFlush)  创建新 PrintWriter


  true代表能自动刷新。注意这四种均不能指定编码集,但PrintStream中对OutprintStream操作时是可以的。【其中原因我不知,有知道的朋友欢迎指教】。

  然后PrintWriter能够直接对文件操作,所以还有这两种构造方法:

PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。

PrintWriter(String fileName)  创建具有指定文件名称且不带自动行刷新的新 PrintWriter。


  注意该构造方法无法指定能否自动刷新,但可以指定字符集所以又衍生出两种:

PrintWriter(File file, String csn)  创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。

PrintWriter(String fileName, String csn)  创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。


2)熟记这八种构造方法,你可以随心构造你需要的PrintWriter对象了(假如为pw)。那它实现了什么接口呢?

1.Closeable接口, 所以它有pw.close()方法来实现对PrintWriter的关闭。

2.Flushable接口,所以它有pw.flush()方法来实现人为的刷新。

3.Appendable接口,所以它有pw.append(char c)方法来向此输出流中追加指定字符,等价于print().

3)下面就是它的方法。

返回类型为PrintWriter的方法

append(char c)

format(String regex,Object args)以指定格式的字符串和参数写入PrintWriter,我个人认为等同于printf

printf()

返回类型为void的方法

println(Object obj)打印obj,可以是基本数据类型或对象,并换行

print(Object obj)同上,但不换行

write(int i) 写入单个字符i

write(char[] buf)  写入字符数组。

write(char[] buf, int off, int len)  写入字符数组的某一部分。

write(String s) 写入字符串 

write(String s, int off, int len)写入字符串的某一部分

个人认为:write()方法与print()方法基本一致 但是write(char[] buf, int off, int len)print()不行。但笔者推荐使用Print系列方法,这正是PrintWriter类的价值所在。

返回类型为boolean类型的方法

checkError() 刷新流并检查其错误状态

4)举例:

import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.File;

public class PrintWriterDemo {


public static void main(String[] args) {

PrintWriter pw = null;
String name = “张松伟”;
int age = 22;
float score = 32.5f;
char sex = ‘男’;
try{

pw = new PrintWriter(new FileWriter(new File(“e:\\file.txt”)),true);
pw.printf(“姓名:%s;年龄:%d;性别:%c;分数:%5.2f;”, name,age,sex,score);
pw.println();
pw.println(“多多指教”);
pw.write(name.toCharArray());
}catch(IOException e){

e.printStackTrace();
}finally{

pw.close();
}
}
}

上面这个例子中呢,完全可以把pw = new PrintWriter(new FileWriter(new File(“e:\\file.txt”)),true);中的new  FileWrite去掉 毫无影响且可以指定字符集。

总结:PrintWriter是一个非常实用的输出流,下一篇我将介绍一个非常实用的输入流Scanner

          

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169288.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月10日 下午4:16
下一篇 2022年8月10日 下午4:36


相关推荐

  • query.uniqueResult_validationquery not set

    query.uniqueResult_validationquery not setHibernate中使用createQuery和createSQLQuery的最大区别就是前者是使用hql语句,后者使用的是sql语句

    2022年9月30日
    5
  • Cursor Pro Ai编程工具 永久激活 无限续杯白嫖最高模型 免费下载 亲测可用

    Cursor Pro Ai编程工具 永久激活 无限续杯白嫖最高模型 免费下载 亲测可用

    2026年3月16日
    2
  • 金士顿有2t的u盘吗_群联3110主控

    金士顿有2t的u盘吗_群联3110主控最近新买的金士顿DT101G2U盘用老版本的群联检测工具GETinfo如GETinfov3.2.9.2会不认识MP的版本,一般会显示为MPv48.30.30,而使用新版本的如GETinfov3.5.7.2会显示MPALLv3.13.0B或MPALLv3.12.0A等。而这些版本网上都无释出版本的量产工具,怎么办呢,很多人都不知道该怎么选择量产工具的版本了。这里根据我成功…

    2025年10月14日
    6
  • JAVA写文本编辑器(一)

          作业题,花了整整两天终于搞出来了,今天给大家整理一下思路。      这里用swing,awt写的。        我们大概要做成一个电脑的记事本那样的一个编辑器。可以调整字体,字号,颜色。能够打开、保存文件,新建窗口,点击退出,还有一个关于介绍的窗口。整体看起来功能不是很多,只要一部分一部分的去完成就很好办了。      关键词:JAVA文本编辑器,      思路…

    2022年4月6日
    71
  • osd的原理

    osd的原理OSD OnScreenDisp 是屏幕显示技术的一种 用于在显示终端上显示字符 图形和图像 显存 也被叫做帧缓存 它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据 如同计算机的内存一样 显存是用来存储要处理的图形信息的部件 我们在显示屏上看到的画面是由一个个的像素点构成的 而每个像素点都以 4 至 32 甚至 64 位的数据来控制它的亮度和色彩 这些数据必须通过显存来保存 再交由显示芯片

    2026年3月19日
    2
  • 51单片机12864串口硬件电路图和程序

    51单片机12864串口硬件电路图和程序1 12864BV2 0 液晶显示块 有不同时期生产的 他们在硬件上有可能不一样 串 并口的转换在硬件上的设置有可能不太一样 本实验所用实物如图所示 液晶正面液晶背面 2 程序 文件名 硬件串行 12864Bv2 0 显示 c 描述 该程序实现了 12864 以串行的方式进行通信

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号