兩個特殊的流物件(System.in和System.out)及列印流
阿新 • • 發佈:2019-02-03
一、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類,也就是說可以為OutputStream例項化
System.in 是 InputStream型別,位元組流,程式使用它可讀取鍵盤輸入的資料;
System.out 是 PrintStream型別(是OutputStream的子類),位元組流,程式使用它可將資料輸出到顯示屏上。
二、使用——例項化父類
1. PrintStream(父類是
OutputStream——位元組流)
public class PrintStreamextends 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 PrintWriterextends 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()方法