学习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

          

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux内核版本介绍_ubuntu内核版本查看

    linux内核版本介绍_ubuntu内核版本查看问题是否有Ubuntu版本列表,默认对应Linux内核版本?答案14.10WartyWarthog2.6.85.04HoaryHedgehog2.6.105.10BreezyBadger2.6.126.06DapperDrake2.6.156.10EdgyEft2.6.177.04FeistyFawn2.6.207.10GutsyGibbon2.6.228…

  • 计算机全选的键盘,什么是全选快捷键,我将告诉您什么是计算机全选快捷键

    计算机全选的键盘,什么是全选快捷键,我将告诉您什么是计算机全选快捷键在我们的日常工作中,使用快捷键可以提高我们的工作速度,因此我们会记住一些易于使用的快捷键。许在编辑文本时都想使用全选快捷键,但是他们不知道要在键盘上按哪些键。下面,我将向您介绍选择所有快捷键的计算机。经常使用计算机的朋友更加熟悉计算机常用的一些基本快捷键,并且所有人都使用快捷键进行操作,从而提高了工作效率,但是有些新手网民仍然不了解基本的计算机快捷键键,例如选择计算机的快捷键是什么?有些网友不知道…

  • oauth 流程_简明同义词典

    oauth 流程_简明同义词典SSO:用户一次登陆后在多个系统免登录。博客gem'doorkeeper'https://i.cnblogs.com/EditPosts.aspx?postid=9255973

  • python 0xff_正在解压缩“0xff”与“\xff”[通俗易懂]

    python 0xff_正在解压缩“0xff”与“\xff”[通俗易懂]我试图用wave库从wave文件中读取二进制数据。数据以’\x0f\x06\x0a…’的形式读取和报告,我想把十六进制数转换成整数(你知道,以10为基数)。我把这些字符当作十六进制字符来处理,但我并没有把这些字符当作十六进制字符来处理。在importwaveimportstructpath=”C:\\directory\\file.wav”file=wave.open(path,’r’)dat…

  • 程序员要不要去外包外派公司上班_程序员去外包是不是就废了

    程序员要不要去外包外派公司上班_程序员去外包是不是就废了总结一下外包外派公司的特点,要不要去,你自然就知道了。1.不管是外包还是外派,你的工作地点都不会固定的。都会去甲方的公司去工作,这个项目完事了,你就换到另一个甲方,另一个工作地方了。需要出差,需要驻场等等,工作场所非常不固定。2.面试的时候各种承诺,转正的时候,各种克扣。3.五险一金不会给你按照基本工资交,而是按照最低工资标准交。4.技术方面,可能会让你弄很多你不熟悉的技…

  • 把VueThink整合到已有ThinkPHP 5.0项目中

    把VueThink整合到已有ThinkPHP 5.0项目中

    2021年10月11日

发表回复

您的电子邮箱地址不会被公开。

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