System
是系統的類,其中的方法都是在控制檯的輸入和輸出,可是經過重定向也是能夠對文件的輸入輸出html
System
中定義了標準輸入、標準輸出和錯誤輸出流,定義以下:java
static PrintStream err
「標準」錯誤輸出流。api
static InputStream in
「標準」輸入流。.net
static PrintStream out
「標準」輸出流。code
從上面的定義能夠知道這裏的返回值都是字節的輸入和輸出流,所以可使用
PrintStream
接受這個返回值,而後利用其進行輸出,一樣的輸入也是能夠這樣作,固然對於OutputStream
和InputStream
也是能夠的,由於PrintStream
是繼承OutputStream
htm
System.out
是一個標準的輸出流,可使用PrintStream
和OutputStream
接收返回值,而後使用其進行標準的輸出,實例以下blog
PrintStream printStream=System.out; //使用PrintStream //OutputStream outputStream=System.out; //使用OutputStream String name="陳加兵"; int age=22; printStream.printf("姓名:%s,年齡:%s",name,age); //使用格式話的輸出
其實我仍是比較用
PrintStream
進行格式話的輸出的繼承
System.out
的重定向輸出,可使用這個將指定的內容輸出到文件中,實例以下:文檔
try { File file=new File("/tmp"+File.separator+"test"+File.separator+"test.txt"); System.setOut(new PrintStream(new PrintStream(file))); //設置重定向的文件 }catch (IOException e) { e.printStackTrace(); } System.out.println("陳加兵的我的博客");//向文件輸入內容
這是一個標準輸入流,可使用
InputStream
來接受返回值,而後利用其進行輸入,實例以下:字符串
byte[] bytes=new byte[1024]; InputStream inputStream=System.in; //使用InputStream來接收這個返回值 try { inputStream.read(bytes); //讀取控制檯輸入的字符串 }catch (IOException e) { e.printStackTrace(); } System.out.println(new String(bytes)); //輸出
說實話這種控制檯輸入的方式不太好,仍是使用原來的
Scanner
比較好
System.in的重定向
byte[] bytes = new byte[1024]; File file = new File("/tmp" + File.separator + "test" + File.separator + "test.txt"); try { System.setIn(new FileInputStream(file)); //設置重定向 System.in.read(bytes); //讀取文件中字節數據 } catch (IOException e) { e.printStackTrace(); } System.out.println(new String(bytes)); //打印出文件中的內容
這是一個標準錯誤輸出流,在
IDEA
中輸出的內容是紅色的,和System.out
輸出的格式同樣,只是顏色不同,由於這裏的重定向不過重要也不太經常使用,這裏就再也不詳細說了,詳情請看幫助文檔
public static void exit(int status)
終止當前的
java虛擬機
,參數用做狀態碼;根據慣例,非0
的狀態碼錶示異常終止,如System.exit(0)