JAVA的IO流:打印流

时间:2023-02-15 18:05:09

打印流:

打印流是输出信息最方便的类,注意包含字节打印流PrintStream和字符打印流:PrintWriter。打印流提供了非常方便的打印功能,

可以打印任何类型的数据信息,例如:小数,整数,字符串。

回顾:

之前打印信息需要使用OutputStream但是这样,所有数据输出会非常麻烦,String-->byte[],打印流中可以方便进行输出,

PrintStream类中常用方法:

JAVA的IO流:打印流

在这个类中定义了很多print()和println()方法,System.out.print()方法可以打印任何数据类型。

JAVA的IO流:打印流

 

构造方法:

public PrintStream(OutputStream out)  --指定输出位置

此构造方法接收OutputStream的子类,

打印流好处:

通过定义的构造方法可以发现,有一个构造方法可以直接接收OutputStream类的实例,与OutputStream相比起来,PrintStream可以更方便的输出数据,

相当于把OutputStream类重新包装了一下,使之输出更方便。

JAVA的IO流:打印流

 

实例1:使用printStream输出信息。

package 类集;
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() ;
    }
};

执行结果:

JAVA的IO流:打印流

也就是说,将FileoutputStream类的功能进行了包装一下。这样的设计在JAVA中称为装饰设计模式。

 

格式化输出:

JAVA对PrintStream功能进行了扩充,增加了格式化输出功能。直接使用Print即可。但是输出的时候需要指定输出的数据类型。

JAVA的IO流:打印流

这类似C语言。

实例2:代码如下:

package 类集; 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"))) ; String name = "李兴华" ;    // 定义字符串
        int age = 30 ;                // 定义整数
        float score = 990.356f ;    // 定义小数
        char sex = 'M' ;            // 定义字符
        ps.printf("姓名:%s;年龄:%d;成绩:%f;性别:%c",name,age,score,sex) ; ps.close() ; } };

执行结果:

JAVA的IO流:打印流

如果觉得要使用很多%s,%d,%c无法记住的话,实例可以全部使用“%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() ;
    }
};