31. Java IO: PrintStream

想要查看此教程的目錄請點擊:Java IO教程目錄貼地址


Java的PrintStream類(java.io.PrintStream)可以讓你將格式化數(shù)據(jù)寫入到OutputStream底層。可以格式化Java基本數(shù)據(jù)類型,比如int,long等。格式化成文本而不是成字節(jié)。這就是為什么稱為PrintStream。

PrintStream例子

下面是一個關(guān)于PrintStream的例子:

PrintStream printStream = new PrintStream(outputStream);

printStream.print(true);
printStream.print((int) 123);
printStream.print((float) 123.456);

printStream.close();

首先創(chuàng)建一個PrintStream實例并在構(gòu)造方法中傳入OutputStream。然后打印了三個Java基本類型的數(shù)據(jù)。最后關(guān)閉流。

為了簡便起見,在示例中省略了PrintStream所寫的輸出流的實例。PrintStream有很多構(gòu)造方法,可以以File作為參數(shù),也可以是OutputStream等。

System.out和System.err都是PrintStream

你可能熟悉Java中兩個著名的PrintStream實例:System.out 和 System.err。如果用過上面兩個實例,那么說明你已經(jīng)用過PrintStream了。

printf()

Java PrintStream類有兩個強(qiáng)大的方法format() 和 printf()(他們實際上做的事是一樣的,但是"printf"對于 C 程序員來說更熟悉一些)。這些方法可以讓你非常高效的混合文本和數(shù)據(jù)、使用格式化字符。

下面是一個printf()的例子:

PrintStream printStream = new PrintStream(outputStream);

printStream.printf(Locale.UK, "Text + data: %1$", 123);

printStream.close();

更多的format() 和 printf()相關(guān)用法可以參考Java官方文檔。

關(guān)閉PrintStream

寫完數(shù)據(jù)的時候要記得關(guān)閉流。關(guān)閉流的同時,也會關(guān)閉OutputStream的實例。關(guān)閉流可以調(diào)用它的close()方法:

printStream.close();

你也可以使用try-with-resources結(jié)構(gòu)。下面是如何使用try-with-resources結(jié)構(gòu)來關(guān)閉流:

OutputStream output = new FileOutputStream("data/data.bin");

try(PrintStream printStream =
    new PrintStream(output)){

    printStream.writeInt(123);
    printStream.writeFloat(123.45F);
    printStream.writeLong(789);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容