打印流
概述
- 平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能方便地打印各种数据类型的值,是一种便捷的输出方式。
PrintStream类
-
构造方法
-
PrintStream(String fileName):使用指定的文件名创建新的打印流,无需自动换行。
-
构造举例,代码如下:
PrintStream ps = new PrintStream("ps.txt");
-
-
A
PrintStream
为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。 还提供了另外两个功能。 与其他输出流不同,PrintStream
从不抛出IOException
; 相反,异常情况只是设置一个可以通过checkError
方法测试的内部标志。 可以选择一个PrintStream
,以便自动刷新; 这意味着flush
字节数组写入方法后自动调用,所述一个println
方法被调用时,或者一个新行字符或字节('\n'
)被写入。由印刷的所有字符
PrintStream
被转换成使用平台的默认字符编码字节。 在需要编写字符而不是字节的情况下,应使用PrintWriter
类 -
改变打印流向
- System.out就是PrintStream类型的,只不过它的流向是系统规定的,打印在控制台上、不过,既然是流对象,我们就可以玩一个"小把戏",改变它的流向。
package com.io.printstream; import java.io.FileNotFoundException; import java.io.PrintStream; /* java.io.PrintStream:打印流 特点: 1.只负责数据的输出,不负责数据的读取。 2.与其他输出流不同,它永远不会抛出IOException 3.有特有的方法,print println 构造方法: PrintStream(File file)使用指定的文件创建一个新的打印流,而不需要自动换行。 PrintStream(OutputStream out)创建一个新的打印流。 PrintStream(String fileName)使用指定的文件名创建新的打印流,无需自动换行。 PrintStream extends OutputSteam 注意: 如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 如果使用字节特有的方法写数据,写的数据原样输出 可以改变输出语句的目的地(打印流的流向) 输出语句,默认在控制台输出 使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地 static void srtOut(PrintStream out) 重写分配"标准"输出流 */ public class PrintStreamDemo01 { public static void main(String[] args) throws FileNotFoundException { System.out.println("我是在控制台输出"); PrintStream ps = new PrintStream("C:\\abc\\目的地是打印流.txt"); System.out.println(ps); System.out.println("我在打印流的目的地中输出"); ps.close(); // PrintStream ps = new PrintStream("C:\\abc\\print.txt"); // // ps.write(97); // // ps.close(); } }