打印流
打印流
在整个 IO 包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream) 和字符打印流(PrintWriter) . 打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如: 小数、整数、字符串等等。
回顾:之前在打印信息的时候需要使用OutputStream, 但是这样一来,所有的数据输出的时候会非常的麻烦, String --> byte[], 打印流中可以方便的进行输出。
在这个类中定义了很多print() 或println() 方法。System.out.println(), 此方法可以打印任何数据类型。
构造方法:
public PrintStream(OutputStream out) -->指定输出位置。
此构造方法接收OutputStream 的子类。
使用 PrintStream 输出信息
- import java.io.* ;
- public class PrintDemo01{
- public static void main(String arg[]) throws Exception{
- PrintStream ps = null ; // 声明打印流对象
- // 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
- ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
- ps.print("hello ") ;
- ps.println("world!!!") ;
- ps.print("1 + 1 = " + 2) ;
- ps.close() ;
- }
- };
也就是说此时,实际上是将FileOutputStream 类的功能包装了一下。这样的设计在JAVA中称为装饰设计。
2、格式化输出
如果学习过其他语言,比较代表性的就是C语言。
- import java.io.* ;
- public class PrintDemo02{
- public static void main(String arg[]) throws Exception{
- PrintStream ps = null ; // 声明打印流对象
- // 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
- ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
- String name = "李兴华" ; // 定义字符串
- int age = 30 ; // 定义整数
- float score = 990.356f ; // 定义小数
- char sex = 'M' ; // 定义字符
- ps.printf("姓名:%s;年龄:%d;成绩:%f;性别:%c",name,age,score,sex) ;
- ps.close() ;
- }
- };
如果,觉得以上的要写很多%s、%d 无法记住的话呢,实际上也可以简单操作,全部使用%s表示。
- import java.io.* ;
- public class PrintDemo03{
- public static void main(String arg[]) throws Exception{
- PrintStream ps = null ; // 声明打印流对象
- // 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
- ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
- String name = "李兴华" ; // 定义字符串
- int age = 30 ; // 定义整数
- float score = 990.356f ; // 定义小数
- char sex = 'M' ; // 定义字符
- ps.printf("姓名:%s;年龄:%s;成绩:%s;性别:%s",name,age,score,sex) ;
- ps.close() ;
- }
- };
1、PrintStream 可以方便的完成输出的功能。
2、在以后的输出中基本上都使用PrintStream 完成,因为比较方便一些。
3、PrintStream 属于装饰设计模式。