Java.io.outputstream.PrintStream:打印流


Java.io.outputstream.PrintStream打印流

1:提供了更多的功能,比如打印方法。可以直接打印任意類型的數據。

2:它有一個自動刷新機制,創建該對象,指定參數,對於指定方法可以自動刷新。

3:它使用的本機默認的字符編碼.

4:該流的print方法不拋出IOException。

 

該對象的構造函數。

PrintStream(File file)  :創建具有指定文件且不帶自動行刷新的新打印流。

PrintStream(File file, String csn) :創建具有指定文件名稱和字符集且不帶自動行刷新的新打印流。

PrintStream(OutputStream out) :創建新的打印流。

PrintStream(OutputStream out, boolean autoFlush) :創建新的打印流。

PrintStream(OutputStream out, boolean autoFlush, String encoding) :創建新的打印流。

PrintStream(String fileName) :創建具有指定文件名稱且不帶自動行刷新的新打印流。

PrintStream(String fileName, String csn)

 

PrintStream可以操作目的:1:File對象。2:字符串路徑。3:字節輸出流。

前兩個都JDK1.5版本才出現。而且在操作文本文件時,可指定字符編碼了。

 

當目的是一個字節輸出流時,如果使用的println方法,可以在printStream對象上加入一個true參數。這樣對於println方法可以進行自動的刷新,而不是等待緩沖區滿了再刷新。最終print方法都將具體的數據轉成字符串,而且都對IO異常進行了內部處理。

 

既然操作的數據都轉成了字符串,那么使用PrintWriter更好一些。因為PrintWrite是字符流的子類,可以直接操作字符數據,同時也可以指定具體的編碼。

--------------------------------------------------------

PrintWriter具備了PrintStream的特點同時,還有自身特點:

該對象的目的地有四個:1:File對象。2:字符串路徑。3:字節輸出流。4:字符輸出流。

 

開發時盡量使用PrintWriter

 

方法中直接操作文件的第二參數是編碼表。

直接操作輸出流的,第二參數是自動刷新。

 

//讀取鍵盤錄入將數據轉成大寫顯示在控制台.

BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));//源:鍵盤輸入

//目的:把數據寫到文件中,還想自動刷新。

PrintWriter out = new PrintWriter(new FileWriter("out.txt"),true);//設置true后自動刷新

String line = null;

while((line=bufr.readLine())!=null){

    if("over".equals(line))

       break;

    out.println(line.toUpperCase());//轉大寫輸出

}

    //注意:System.in,System.out這兩個標准的輸入輸出流,在jvm啟動時已經存在了。隨時可以使用。當jvm結束了,這兩個流就結束了。但是,當使用了顯示的close方法關閉時,這兩個流在提前結束了。

out.close();

bufr.close();


免責聲明!

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



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