Java打印流原理及實(shí)例詳解
這篇文章主要介紹了Java打印流原理及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
平時(shí)我們?cè)诳刂婆_(tái)打印輸出,是調(diào)用print方法和println方法完成的,這兩個(gè)方法都來(lái)自于java.io.PrintStream類(lèi),該類(lèi)能夠方便地打印各種數(shù)據(jù)類(lèi)型的值,是一種便捷的輸岀方式。
PrintStream類(lèi)
PrintStream類(lèi),為其他輸出流添加了功能,使他們能夠方便的打印各種數(shù)據(jù)值表示格式。
PrintStream類(lèi)的特點(diǎn):
只負(fù)責(zé)數(shù)據(jù)的輸出,不負(fù)責(zé)數(shù)據(jù)的讀取。
與其他輸出流不同,PrintStream永遠(yuǎn)不會(huì)拋出IOException異常。
特有方法:print()、println()
構(gòu)造方法
PrintStream(String fileName) // 使用指定的文件名創(chuàng)建一個(gè)新的打印流。
繼承自父類(lèi)的方法
PrintStream extends OutputStream
1、public abstract void write(int b) throws IOException;
// 將指定的字節(jié)輸出流。
2、public void write(byte b[]) throws IOException{...};
// 將b.length字節(jié)從指定的字節(jié)數(shù)組寫(xiě)入此輸出流。
3、public void write(byte b[], int off, int len) throws IOException{...};
// 從指定的字節(jié)數(shù)組寫(xiě)入len字節(jié),從偏移量off開(kāi)始輸出到此輸出流。
4、public void flush() throws IOException{};
// 刷新此輸出流并強(qiáng)制任何緩沖的輸出字節(jié)被寫(xiě)出。
5、public void close() throws IOException {};
// 關(guān)閉此輸出流并釋放與此流相關(guān)聯(lián)的任何系統(tǒng)資源。
說(shuō)明:
如果使用繼承父類(lèi)的write方法寫(xiě)數(shù)據(jù),那么查詢(xún)數(shù)據(jù)的時(shí)候,會(huì)查詢(xún)編碼表。
如果使用自身特有的print方法、println方法寫(xiě)數(shù)據(jù),那么寫(xiě)的數(shù)據(jù)會(huì)原樣輸出。
舉例:往print.txt空文件中寫(xiě)入數(shù)據(jù)
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class DemoPrintStream {
public static void main(String[] args) throws FileNotFoundException {
// 創(chuàng)建PrintStream對(duì)象,傳入輸出的路徑,路徑需要存在,否則會(huì)拋出FileNotFoundException異常
PrintStream ps = new PrintStream("/Users/liyihua/IdeaProjects/Study/src/view/study/demo37/print");
// 使用父類(lèi)OutputStream的write方法,寫(xiě)入數(shù)據(jù)
ps.write(97);
// 使用自身特有的方法,寫(xiě)入數(shù)據(jù)
ps.print(97);
// 釋放資源
ps.close();
}
}
print.txt文件內(nèi)容如下:

數(shù)據(jù)a是使用父類(lèi)中的write方法寫(xiě)入的。數(shù)據(jù)97是使用自身特有方法寫(xiě)入的。
練習(xí):改變輸出語(yǔ)句的目的地
分析:輸出語(yǔ)句,默認(rèn)是在控制臺(tái)輸出,使用System.setOut方法,可以改變輸出語(yǔ)句的目的地。
static void setOut(PrintStream out) // 將輸出語(yǔ)句的目的地,改變?yōu)閰?shù)中傳遞的打印流的目的地。 參數(shù): PrintStream out:打印流對(duì)象
代碼實(shí)現(xiàn):
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class DemoSetOut {
public static void main(String[] args) throws FileNotFoundException {
// 在控制臺(tái)輸出
System.out.println("我是在控制臺(tái)輸出的!!!");
// 在空的setOut.txt文件中輸出
PrintStream ps = new PrintStream("/Users/liyihua/IdeaProjects/Study/src/view/study/demo37/setOut");
System.setOut(ps);
System.out.println("我是在setOut.txt文件中輸出的?。。?);
// 釋放資源
ps.close();
}
}
控制臺(tái)輸出:
我是在控制臺(tái)輸出的?。。?/p>
setOut.txt文件內(nèi)容:
我是在setOut.txt文件中輸出的?。?!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
通過(guò)實(shí)例解析spring對(duì)象生命周期
這篇文章主要介紹了通過(guò)實(shí)例解析spring對(duì)象生命周期,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
IDEA?2020.3最新永久激活碼(免費(fèi)激活到?2099?年,親測(cè)有效)
分享一下?IntelliJ?IDEA?2020.3.1?最新激活注冊(cè)碼,破解教程如下,可免費(fèi)激活至?2099?年,親測(cè)有效,本文給大家分享兩種方法,感興趣的朋友參考下吧2021-01-01
JAVA多線(xiàn)程之方法 JOIN詳解及實(shí)例代碼
這篇文章主要介紹了JAVA多線(xiàn)程之方法 JOIN詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
Springboot如何使用Map將錯(cuò)誤提示輸出到頁(yè)面
這篇文章主要介紹了Springboot如何使用Map將錯(cuò)誤提示輸出到頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
spring boot配合前端實(shí)現(xiàn)跨域請(qǐng)求訪問(wèn)
本篇文章主要介紹了spring boot配合前端實(shí)現(xiàn)跨域請(qǐng)求訪問(wèn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
springboot入門(mén)之profile設(shè)置方式
這篇文章主要介紹了springboot入門(mén)?profile設(shè)置方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04

