Java IO學習筆記七

System對IO的支持

  • System是系統的類,其中的方法都是在控制檯的輸入和輸出,可是經過重定向也是能夠對文件的輸入輸出html

  • System中定義了標準輸入、標準輸出和錯誤輸出流,定義以下:java

  1. static PrintStream err 「標準」錯誤輸出流。api

  2. static InputStream in 「標準」輸入流。.net

  3. static PrintStream out 「標準」輸出流。code

  • 從上面的定義能夠知道這裏的返回值都是字節的輸入和輸出流,所以可使用PrintStream接受這個返回值,而後利用其進行輸出,一樣的輸入也是能夠這樣作,固然對於OutputStreamInputStream也是能夠的,由於PrintStream是繼承OutputStreamhtm

System.out

  • System.out是一個標準的輸出流,可使用PrintStreamOutputStream接收返回值,而後使用其進行標準的輸出,實例以下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("陳加兵的我的博客");//向文件輸入內容

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)

參考文章

相關文章
相關標籤/搜索