1 概述
打印流包括 PrintStream
字节打印流 和 PrintWriter
字符打印流
PrintStream:字节打印流
特点:1 构造函数接收File对象,字符串路径,字节输出流。意味着打印目的可以有很多
2 该对象具备特有的方法 打印方法 print println,可以打印任何类型的数据
3 特有的print方法可以保持任意类型数据表现形式的原样性
,将数据输出到目的地对于OutputStream父类中的write,是将数据的最低字节写出去
PrintWriter:字符打印流
特点:1 当操作的数据是字符时,可以选择PrintWriter,比PrintStream要方便
2 它的构造函数可以接收 File对象,字符串路径,字节输出流,字符输出流
3 构造函数中,如果参数是输出流,那么可以通过指定另一个参数true完成自动刷新,该true对println方法有效
什么时候用
当需要保证数据表现的原样性时,就可以使用打印流的打印方法来完成,这样更为方便
保证原样性的原理:其实就是将数据变成字符串,在进行写入操作
2 实例
private static void printTest() throws IOException {
PrintStream ps = null ; // 声明打印流对象
// 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
ps = new PrintStream(new FileOutputStream(new File("E:" + File.separator + "a.txt"))) ;
ps.print("hello ") ;
ps.println("Java!!!") ;
ps.print("1 + 1 = " + 2) ;
ps.close() ;
}
运行结果:
hello world!!!
1 + 1 = 2
格式化输出
在JDK1.5之后,JAVA又对PrintStream类进行了扩充,增加了格式化的输出方式,直接使用printf()方法就可以完成操作,但是在进行格式化输出的时候需要指定其输出的数据类型
No. | 字符 | 描述 |
---|---|---|
1 | %s | 表示内容为字符串 |
2 | %d | 表示内容为整数 |
3 | %f | 表示内容为小数 |
4 | %c | 表示内容为字符 |
private static void printTest() throws IOException {
PrintStream ps = null ; // 声明打印流对象
// 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
ps = new PrintStream(new FileOutputStream(new File("E:" + File.separator + "a.txt"))) ;
String name = "小强" ; // 定义字符串
int age = 23 ; // 定义整数
float high = 178.5f ; // 定义小数
char sex = 'M' ; // 定义字符
ps.printf("姓名:%s;年龄:%d;身高:%f;性别:%c",name,age,high,sex) ;
ps.close() ;
}
运行结果:
姓名:小强;年龄:23;身高:178.500000;性别:M
还可以采取更简单的输出方式, 即全部使用 %s 代替
ps.printf("姓名:%s;年龄:%s;身高:%s;性别:%s",name,age,high,sex) ;
其他不变