小編給大家分享一下Java中打印流原理是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、昆都侖網(wǎng)站維護(hù)、網(wǎng)站推廣。
平時(shí)我們?cè)诳刂婆_(tái)打印輸出,是調(diào)用print方法和println方法完成的,這兩個(gè)方法都來自于java.io.PrintStream類,該類能夠方便地打印各種數(shù)據(jù)類型的值,是一種便捷的輸岀方式。
PrintStream類
PrintStream類,為其他輸出流添加了功能,使他們能夠方便的打印各種數(shù)據(jù)值表示格式。
PrintStream類的特點(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è)新的打印流。
繼承自父類的方法
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ù)組寫入此輸出流。 3、public void write(byte b[], int off, int len) throws IOException{...}; // 從指定的字節(jié)數(shù)組寫入len字節(jié),從偏移量off開始輸出到此輸出流。 4、public void flush() throws IOException{}; // 刷新此輸出流并強(qiáng)制任何緩沖的輸出字節(jié)被寫出。 5、public void close() throws IOException {}; // 關(guān)閉此輸出流并釋放與此流相關(guān)聯(lián)的任何系統(tǒng)資源。
說明:
如果使用繼承父類的write方法寫數(shù)據(jù),那么查詢數(shù)據(jù)的時(shí)候,會(huì)查詢編碼表。
如果使用自身特有的print方法、println方法寫數(shù)據(jù),那么寫的數(shù)據(jù)會(huì)原樣輸出。
舉例:往print.txt空文件中寫入數(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"); // 使用父類OutputStream的write方法,寫入數(shù)據(jù) ps.write(97); // 使用自身特有的方法,寫入數(shù)據(jù) ps.print(97); // 釋放資源 ps.close(); } }
print.txt文件內(nèi)容如下:
數(shù)據(jù)a是使用父類中的write方法寫入的。數(shù)據(jù)97是使用自身特有方法寫入的。
練習(xí):改變輸出語句的目的地
分析:輸出語句,默認(rèn)是在控制臺(tái)輸出,使用System.setOut方法,可以改變輸出語句的目的地。
static void setOut(PrintStream out) // 將輸出語句的目的地,改變?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文件中輸出的?。。?/p>
以上是“Java中打印流原理是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!