您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java打印流的原理實例分析”,在日常操作中,相信很多人在Java打印流的原理實例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java打印流的原理實例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
平時我們在控制臺打印輸出,是調用print方法和println方法完成的,這兩個方法都來自于java.io.PrintStream類,該類能夠方便地打印各種數據類型的值,是一種便捷的輸岀方式。
PrintStream類
PrintStream類,為其他輸出流添加了功能,使他們能夠方便的打印各種數據值表示格式。
PrintStream類的特點:
只負責數據的輸出,不負責數據的讀取。
與其他輸出流不同,PrintStream永遠不會拋出IOException異常。
特有方法:print()、println()
構造方法
PrintStream(String fileName)// 使用指定的文件名創建一個新的打印流。
繼承自父類的方法
PrintStream extends OutputStream
1、public abstract void write(int b) throws IOException;// 將指定的字節輸出流。2、public void write(byte b[]) throws IOException{...};// 將b.length字節從指定的字節數組寫入此輸出流。3、public void write(byte b[], int off, int len) throws IOException{...};// 從指定的字節數組寫入len字節,從偏移量off開始輸出到此輸出流。4、public void flush() throws IOException{};// 刷新此輸出流并強制任何緩沖的輸出字節被寫出。5、public void close() throws IOException {};// 關閉此輸出流并釋放與此流相關聯的任何系統資源。
說明:
如果使用繼承父類的write方法寫數據,那么查詢數據的時候,會查詢編碼表。
如果使用自身特有的print方法、println方法寫數據,那么寫的數據會原樣輸出。
舉例:往print.txt空文件中寫入數據
import java.io.FileNotFoundException;import java.io.PrintStream;public class DemoPrintStream { public static void main(String[] args) throws FileNotFoundException { // 創建PrintStream對象,傳入輸出的路徑,路徑需要存在,否則會拋出FileNotFoundException異常 PrintStream ps = new PrintStream("/Users/liyihua/IdeaProjects/Study/src/view/study/demo37/print"); // 使用父類OutputStream的write方法,寫入數據 ps.write(97); // 使用自身特有的方法,寫入數據 ps.print(97); // 釋放資源 ps.close(); }}
print.txt文件內容如下:
數據a是使用父類中的write方法寫入的。數據97是使用自身特有方法寫入的。
練習:改變輸出語句的目的地
分析:輸出語句,默認是在控制臺輸出,使用System.setOut方法,可以改變輸出語句的目的地。
static void setOut(PrintStream out)// 將輸出語句的目的地,改變為參數中傳遞的打印流的目的地。參數:PrintStream out:打印流對象
代碼實現:
import java.io.FileNotFoundException;import java.io.PrintStream;public class DemoSetOut { public static void main(String[] args) throws FileNotFoundException { // 在控制臺輸出 System.out.println("我是在控制臺輸出的!!!"); // 在空的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(); }}
控制臺輸出:
我是在控制臺輸出的!!!
setOut.txt文件內容:
我是在setOut.txt文件中輸出的!!!
到此,關于“Java打印流的原理實例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。