System對IO的支持 是系統的類,其中的方法都是在控制台的輸入和輸出,但是通過重定向也是可以對文件的輸入輸出 中定義了標準輸入、標準輸出和錯誤輸出流,定義如下: 1. “標準”錯誤輸出流。 2. “標準”輸入流。 3. “標準”輸出流。 從上面的定義可以知道這裡的返回值都是位元組的輸入和輸出流,因 ...
System對IO的支持
System
是系統的類,其中的方法都是在控制台的輸入和輸出,但是通過重定向也是可以對文件的輸入輸出
System
中定義了標準輸入、標準輸出和錯誤輸出流,定義如下:
static PrintStream err
“標準”錯誤輸出流。static InputStream in
“標準”輸入流。static PrintStream out
“標準”輸出流。從上面的定義可以知道這裡的返回值都是位元組的輸入和輸出流,因此可以使用
PrintStream
接受這個返回值,然後利用其進行輸出,同樣的輸入也是可以這樣做,當然對於OutputStream
和InputStream
也是可以的,因為PrintStream
是繼承OutputStream
System.out
System.out
是一個標準的輸出流,可以使用PrintStream
和OutputStream
接收返回值,然後使用其進行標準的輸出,實例如下
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("陳加兵的個人博客");//向文件輸入內容
System.in
- 這是一個標準輸入流,可以使用
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)); //列印出文件中的內容
System.err
- 這是一個標準錯誤輸出流,在
IDEA
中輸出的內容是紅色的,和System.out
輸出的格式一樣,只是顏色不一樣,因為這裡的重定向不太重要也不太常用,這裡就不再詳細說了,詳情請看幫助文檔
System.exit
public static void exit(int status)
- 終止當前的
java虛擬機
,參數用作狀態碼;根據慣例,非0
的狀態碼表示異常終止,如System.exit(0)