JAVA的IO流:打印流


打印流:

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

可以打印任何類型的數據信息,例如:小數,整數,字符串。

回顧:

之前打印信息需要使用OutputStream但是這樣,所有數據輸出會非常麻煩,String-->byte[],打印流中可以方便進行輸出,

PrintStream類中常用方法:

在這個類中定義了很多print()和println()方法,System.out.print()方法可以打印任何數據類型。

 

構造方法:

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

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

打印流好處:

通過定義的構造方法可以發現,有一個構造方法可以直接接收OutputStream類的實例,與OutputStream相比起來,PrintStream可以更方便的輸出數據,

相當於把OutputStream類重新包裝了一下,使之輸出更方便。

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM