1. 程式人生 > >兩個特殊的流物件(System.in和System.out)及列印流

兩個特殊的流物件(System.in和System.out)及列印流

一、System.in和System.out

System是一個類java.lang.System,屬於java.lang包,定義如下:

public final class System extends Object//此類為最終類,不能被繼承
in和out為System類的屬性:
public static final InputStream in//靜態方法,用類名稱直接呼叫,返回InputStream類,也就是說可以為InputStream例項化
public static final PrintStream out//靜態方法,用類名稱直接呼叫,返回PrintStream類,也就是說可以為Output
Stream例項化

System.in   是 InputStream型別,位元組流,程式使用它可讀取鍵盤輸入的資料;

System.out  是 PrintStream型別(是OutputStream的子類),位元組流,程式使用它可將資料輸出到顯示屏上。


二、使用——例項化父類

1.  PrintStream(父類是

OutputStream——位元組流
)
public class PrintStream
extends FilterOutputStreamimplements Appendable, Closeable 構造方法很多:

          建立具有指定檔案且不帶自動行重新整理的新列印流。

          建立具有指定檔名稱和字符集且不帶自動行重新整理的新列印流。

          建立具有指定檔名稱且不帶自動行重新整理的新列印流。

          建立具有指定檔名稱和字符集且不帶自動行重新整理的新列印流。
其中,
public PrintStream(OutputStream out)這個構造方法過傳入一個OutputStream型別的物件,作用是向引數out列印值和物件的輸出流。
示例:
PrintStream out = new PrintStream(System.out);//向螢幕列印
String str = "abcddd";
out.print(str);
2.  PrintWriter(父類是
Writer——字元流
)
public class PrintWriter
extends Writer
構造方法摘要

          使用指定檔案建立不具有自動行重新整理的新 PrintWriter。

          建立具有指定檔案和字符集且不帶自動刷行新的新 PrintWriter。

          根據現有的 OutputStream 建立不帶自動行重新整理的新 PrintWriter。

          通過現有的 OutputStream 建立新的 PrintWriter。

          建立具有指定檔名稱且不帶自動行重新整理的新 PrintWriter。

          建立具有指定檔名稱和字符集且不帶自動行重新整理的新 PrintWriter。

          建立不帶自動行重新整理的新 PrintWriter。

          建立新 PrintWriter。
其中,
public PrintWriter(OutputStream out)   這個構造方法過傳入一個OutputStream型別的物件,作用是向引數out列印值和物件的輸出流。
示例:
PrintWriter out = new PrintWriter(System.out);//向螢幕列印
String str = "abcddd";
out.print(str);
out.close();//字元流用到緩衝區,若不關閉,則無法把內容寫入目標位置,也可使用out.flush()方法