Java – IO流 – 打印流
简介
打印流一般是指:
PrintStream 字节打印流
PrintWriter 字符打印流
特点:
1.打印流只操作文件目的地,不操作数据源,因此打印流只能写不能读。
2.特有的写出方法可以实现数据原样写出
例如:打印 97 -> 文件中:97 , 非 a
打印 true -> 文件中:true
3.特有的写出方法,可以实现自动刷新,自动换行,打印一次数据 = 写出 + 换行 + 刷新
创建字节打印流
字节打印流可以通过 String File 和 OutputStream 等方法构造
构造函数
// 通过三种方式创建字节打印流
public PrintStream(OutputStream / File / String);
// 通过定义字符集创建
public PrintStream(String fileName, Charset charset);
// 设定 OutputStream 和是否自动刷新创建
public PrintStream(OutputStream out, boolean autoFlush);
// 设定 OutputStream 和字符集和是否自动刷新创建
public PrintStream(OutputStream out, boolean autoFlush, String charset);
注意:打印流本身使用 OutputStream ,而OutputStream 是不具备缓冲机制的,所以每次写出都会直接写到文件里,所以autoFlush没有意义。
打印字节流
// 普通写出文件,与OutputStream没有区别
public void wirte(int b)
// 特有方法:打印任意数据,自动刷新,自动换行
public void println(any)
//特有方法:打印任意数据,不换行
public void print(any)
//特有方法:带有占位符的打印语句,不换行
//printf方法和 C 语言上的 printf 方法使用一致
public void printf(String format, Object... args)
创建字符打印流
字节打印流可以通过 String File 和 FileWriter等方法构造
构造函数
// 通过三种方式创建字符打印流
public PrintWriter(FileWriter/ File / String);
// 通过定义字符集创建
public PrintWriter(String fileName, Charset charset);
// 设定 Writer 和是否自动刷新创建
public PrintWriter(Writer out, boolean autoFlush);
// 设定 Writer 和字符集和是否自动刷新创建
public PrintWriter(Writer out, boolean autoFlush, String charset);
注意:打印字符流因为会使用FileWriter对象进行操作,而FileWriter对象默认带有char[8192] 的缓冲区,因此所写出数据不会马上写到文件中,如果需要自动刷新数据,需要使autoFlush设为true
打印字节流
// 普通写出文件,与FileWriter没有区别
public void wirte(int b)
// 特有方法:打印任意数据,自动刷新,自动换行
public void println(any)
//特有方法:打印任意数据,不换行
public void print(any)
//特有方法:带有占位符的打印语句,不换行
//printf方法和 C 语言上的 printf 方法使用一致
public void printf(String format, Object... args)
释放打印流
涉及文件输出的流操作,都应该关闭流文件操作
close();
共有 0 条评论