首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PrintWriter and BufferedWriter区别和使用「建议收藏」

PrintWriter and BufferedWriter区别和使用「建议收藏」

作者头像
全栈程序员站长
发布2022-09-06 10:21:23
发布2022-09-06 10:21:23
7150
举报

大家好,又见面了,我是你们的朋友全栈君。

区别:

BufferedWriter:将文本写入字符输出流,缓冲各个字符从而提供单个字符,数组和字符串的高效写入。通过write()方法可以将获取到的字符输出,然后通过newLine()进行换行操作。并且BufferedWriter只能对字符流进行操作。

PrintWriter:相对于BufferedWriter的好处在于,如果PrintWriter开启了自动刷新,那么当PrintWriter调用println,prinlf或format方法时,输出流中的数据就会自动刷新出去。PrintWriter不但能接收字符流,也能接收字节流。

1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串;

2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法;

3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生;

4. PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush);

BufferedWriter方法在录入一段字符后要使用newLine方法进行换行操作。PrintWriter可以开启自动刷新,其中的println方法自带换行操作。所以代码实现起来要比BufferedWriter简单一些。PrintWriter提供println()方法可以写不同平台的换行符,BufferedWriter可以任意设定缓冲大小

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。

BufferedWriter 类

构造方法:bufferedWriter bf = new bufferedWriter(Writer out ); 主要方法:void write(char ch);//写入单个字符。 void write(char []cbuf,int off,int len)//写入字符数据的某一部分。 void write(String s,int off,int len)//写入字符串的某一部分。 void newLine()//写入一个行分隔符。 void flush();//刷新该流中的缓冲。将缓冲数据写到目的文件中去。 void close();//关闭此流,在关闭前会先刷新他。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月5,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PrintWriter类
    • BufferedWriter 类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档