JAVA的IO流:打印流

打印流:

打印流是輸出信息最方便的類,注意包含字節打印流PrintStream和字符打印流:PrintWriter。打印流提供了很是方便的打印功能,java

能夠打印任何類型的數據信息,例如:小數,整數,字符串。設計模式

回顧:spa

以前打印信息須要使用OutputStream可是這樣,全部數據輸出會很是麻煩,String-->byte[],打印流中能夠方便進行輸出,設計

PrintStream類中經常使用方法:3d

在這個類中定義了不少print()和println()方法,System.out.print()方法能夠打印任何數據類型。code

 

構造方法:對象

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

此構造方法接收OutputStream的子類,blog

打印流好處:

經過定義的構造方法能夠發現,有一個構造方法能夠直接接收OutputStream類的實例,與OutputStream相比起來,PrintStream能夠更方便的輸出數據,字符串

至關於把OutputStream類從新包裝了一下,使之輸出更方便。it

 

實例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() ;
    }
};

執行結果:

也就是說,將FileoutputStream類的功能進行了包裝一下。這樣的設計在JAVA中稱爲裝飾設計模式。

 

格式化輸出:

JAVA對PrintStream功能進行了擴充,增長了格式化輸出功能。直接使用Print便可。可是輸出的時候須要指定輸出的數據類型。

這相似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() ; } };

執行結果:

若是以爲要使用不少%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() ;
    }
};
相關文章
相關標籤/搜索