打印流

- 分类:打印流一般是指:PrintStream,PrintWriter两个类
- 特点
- 打印流只操作文件目的地,不操作数据源
- 特有的写出方法可以实现数据原样写出
- 打印:97 文件中:97
- 打印:true 文件中:ture
- 特有的写出方法,可以实现自动刷新,自动换行
字节打印流
构造方法
| 构造方法 | 说明 |
|---|
| public PrintStream(OutputStream/File/String) | 关联字节输出流/文件/文件路径 |
| public PrintStream(String fileName, Charset charset) | 指定字符编码 |
| public PrintStream(OutputStream out, boolean autoFlush) | 自动刷新 |
| public PrintStream(OutputStream out, boolean autoFlush,String encoding) | 指定字符编码且自动刷新 |
成员方法
| 成员方法 | 说明 |
|---|
| public void write(int b) | 常规方法:规则跟之前一样,将指定的字节写出 |
| public void println(Xxx xx) | 特有方法:打印任意数据,自动刷新,自动换行 |
| public void print(Xxx xx) | 特有方法:打印任意数据,不换行 |
| public void printf(String format, Object... args) | 特有方法:带有占位符的打印语句,不换行 |
- printf方法示例
ps.printf("%s爱上了%s", "阿珍", "阿强");
- 输出:
阿珍爱上了阿强
- 占位符还有很多
字符打印流
构造方法
| 构造方法 | 说明 |
|---|
| public PrintWriter(Writer, File, String) | 关联字节输出流/文件/文件路径 |
| public PrintWriter(String fileName, Charset charset) | 指定字符编码 |
| public PrintWriter(Write w, boolean autoFlush) | 自动刷新 |
| public PrintWriter(OutputStream out, boolean autoFlush, Charset charset) | 指定字符编码且自动刷新 |
成员方法
| 成员方法 | 说明 |
|---|
| public void write(...) | 常规方法:规则跟之前一样,写出字节或者字符串 |
| public void println(Xxx xx) | 特有方法:打印任意类型的数据并且换行 |
| public void print(Xxx xx) | 特有方法:打印任意类型数据,不换行 |
| public void printf(String format, Object... args) | 特有方法:带有占位符的打印语句,不换行 |
System.out.println()
- 在System类中,定义了一个特殊的静态变量out
private static final PrintStream out = null;
- 这个打印流对象是在虚拟机启动时虚拟机自动创建,这个对象默认指向控制台
- 这是一个特殊的打印流,叫做系统中的标准输出流,不能关闭,在系统中是唯一的