1、PrintWriter类(java.io包中)
PrintWriter是一个非常实用的输出流。
(1) 构造方法(8种)
▽PrintWriter是一种过滤流(也叫处理流),能对字节流(OutputStream)和字符流(Writer)进行处理,所以它必然支持对这两种方式的构造:
① 不带自动刷新:
PrintWriter(OutputStreamout) 根据现有的OutputStream创建不带自动刷新的对象
PrintWriter(Writer out) 创建不带自动刷新的PrintWriter对象。
② 带自动刷新(autoFlush为true代表能自动刷新):
PrintWriter(OutputStream out, boolean autoFlush)
PrintWriter(Writer out, boolean autoFlush)
▽ PrintWriter能够直接对文件操作,所以它必然支持对文件的构造:
① 不可以指定编码集:
PrintWriter(File file) 使用指定文件创建不带自动刷新的PrintWriter对象
PrintWriter(String fileName) 创建具有指定文件名称且不带自动刷新的PrintWriter对象
② 可以指定编码集:
PrintWriter(File file, String csn) 创建具有指定文件和字符集且不带自动刷新的对象
PrintWriter(String fileName, String csn) 创建具有指定文件名称和字符集且不带自动刷新的
(2) 实现的接口:
▽ Closeable接口。所以它有.close()方法来实现对PrintWriter的关闭。
▽ Flushable接口。所以它有.flush()方法来实现人为的刷新。
▽ Appendable接口。所以它有.append(char c)方法来向此输出流中追加指定字符,等价于print()。
(3) 调用方法
PrintWriter append(char c)
PrintWriter format(String regex,Object args) 以指定格式的字符串和参数写入PrintWriter,等同于printf
PrintWriter printf()
Void println(Object obj) 打印obj,可以是基本数据类型或对象,并换行
Void print(Object obj) 同上,但不换行
Void write(int i) 写入单个字符i
Void write(char[] buf) 写入字符数组
Void write(char[] buf, int off, int len) 写入字符数组的某一部分
Void write(String s) 写入字符串
Void write(String s, int off, int len) 写入字符串的某一部分
Boolean checkError() 刷新流并检查其错误状态
4)举例:
import java.io.IOException;
import java.io.PrintWriter;
import ja