PrintWriter
来源:互联网 发布:淘宝千里眼在哪买 编辑:程序博客网 时间:2024/04/27 00:13
PrintWriter
构造方法
构造方式之一:PrintWriter (File file/String fileName, String csn)
指定文件或者文件名称,创建一个不具有自动刷新功能的PrintWriter
从构造方法可以看出,PrintWriter
的第一个作用是将数据打印到到文件,在利用该构造方法时,要注意参数传入的两个要点:
- 第一,必须指定定文件位置。
- 第二,不具备自动刷新功能。
- 第二,字符集为可选参数,如若不填,Java将按照操作系统自动选择字符集。
构造方式之二:public PrintWriter(OutputStream out,boolean autoFlush)
通过现有的 OutputStream
创建新的PrintWriter
自动刷新为可选参数
方式二创建必要的中间 OutputStreamWriter
,后者使用默认字符编码将字符转换为字节。因此创建出来的Printwriter
对象兼有转换跟输出的功,可以将字节流对象在底层转换为字符流对象,然后打印。
构造方式之三:PrintWriter(Writer out, boolean autoFlush)
传入一个Writer对象, 创建新 PrintWriter。与方式二唯一的区别:传入参数是字符流,不需要调用底层的转换流,直接可以包装为打印流。
Writer方法
void write(String s, int off,int len) // 写入字符串。void write(char[] buf, int off, int len) //写入字符数组void write(int c) //写入单个字符。
write方法写入,会覆盖文件原来的内容。其中的写入字符串(或字符数组)的后两个参数为可选参数,可自定义起始位置和长度,截取要写入的字符串(或字符数组)的一部分。参数为(int c)
的方式比较特殊,这是的C值对应字符的编码,这个方法的含义是输入字符的编码,输出对应的字符。如下:
public class Print { public static void main(String[] args) throws Exception { PrintWriter pw = new PrintWriter("D:\\5.txt","utf-8"); pw.write(99); pw.flush(); }}
在D盘的5.txt文件中可以看到字符c
,字符c
对应的编码为99。当将输出的内容改为pw.write(97);
时,5.txt文件中只显示了97对应的字符a
,原来的字符c
被覆盖了。
append方法
(API文档直接COPY过来的)方法摘要:PrintWriter append(char c) 将指定字符添加到此 writer。 PrintWriter append(CharSequence csq) 将指定的字符序列添加到writer。 PrintWriter append(CharSequence csq, int start, int end) 将指定符序列的子序列添加到此 writer。
字符序列是什么?就是字符串(为什么不直接翻译成字符串,这个翻译成功,使得看API文档的同学认知负荷翻倍,英语能力显著提升,怪不得程序员都头发很少)。
拉回远飘的思绪,继续盐焗append方法。看代码:
public class Print { public static void main(String[] args) throws Exception { PrintWriter pw = new PrintWriter("D:5.txt","utf-8"); pw.append("bbbb"); pw.flush(); }}
执行完这段代码后,在相应的5.txt
文件上会看到bbbb
,原来的内容也同样会被覆盖掉。这里要注意的是append方法返回的是PrintWriter流对象,可以看做是追加。如下:
小结
PrintWriter类最大的特点是,他的pint()方法可以接受任意类型的数据,然后把他们以字符串的形式输出。
PrintWriter兼具转化流与输出流的功能,可以将字节流转换成字符流输出。
特殊方法append(),在流中添加信息。
- PrintWriter
- PrintWriter
- PrintWriter
- PrintWriter
- PrintWriter
- printwriter
- PrintWriter
- PrintWriter
- StringWriter/PrintWriter
- StringWriter/PrintWriter
- [Java] PrintWriter
- PrintWriter类
- Printwriter对象
- JAVA PrintWriter
- BufferReader.PrintWriter
- printwriter用法
- java PrintWriter
- PrintWriter close()
- leetcode Palindrome Partitioning II
- Android中图片压缩分析(下)
- 清华大学微积分教育领头人是谁?
- 让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第6篇
- VMware下ubuntu扩展磁盘空间
- PrintWriter
- Linux操作系统基础命令
- Exection throws和throw
- A
- 小白初学二叉树遍历
- Linux的文件系统与文件
- Spring Cloud微服务 浅谈
- opencv 实现YUV 图片差异对比
- 消除类游戏