打印流-PrintStream

打印流-PrintStream

java.io.PrintStream爲其餘輸出流添加了功能,使其餘的流可以更方便的打印各類數據值表現形式
PrintStream特色:
1.只負責數據的輸入,不負責數據的讀取
2.與其餘流不一樣,PrintStream不會拋出IOException異常
3.特有方法print()和println()可以打印任何類型的值java

繼承關係:git

java.lang.Object--java.io.OutputStream--java.io.FilterOutputStream--java.io.PrintStreamgithub

構造方法:編碼

PrintStream(File file)使用指定的文件建立一個新的打印流,而不須要自動換行。
PrintStream(File file, String csn)使用指定的文件和字符集建立新的打印流,而不須要自動換行。
PrintStream(OutputStream out)建立一個新的打印流。
PrintStream(OutputStream out, boolean autoFlush)建立一個新的打印流。
PrintStream(OutputStream out, boolean autoFlush, String encoding)建立一個新的打印流。
PrintStream(String fileName)使用指定的文件名建立新的打印流,無需自動換行。
PrintStream(String fileName, String csn)建立一個新的打印流,不須要自動換行,具備指定的文件名和字符集。code

注意:由於PrintStream繼承自OutputStream因此,OutputStream的方法PrintStream也能調用,但在使用write()方法時,若是使用則會去查詢編碼表來進行字符轉化好比97---會打印a,但若是使用本身的print()方法則97---就打印97,原來時什麼樣就原樣輸出對象

示例:繼承

//1.建立PrintStream對象
PrintStream ps=new PrintStream("filePath");
//2.使用輸出方法
ps.write(97);//輸出a
ps.print(97);//輸出97

改變系統輸出目的地

public class IO_PrintStream {

    public static void main( String[] args ) {
        System.out.println("打印流的位置,從控制檯輸出改成輸出到PrintStream");
        changeOut();
    }

    private static void changeOut() {
        try (
                PrintStream ps = new PrintStream("./src/JavaCore/IO/PS.txt")
        ) {
            //將打印目的地修改到PrintStream
            System.setOut(ps);
            System.out.println("打印到PrintStream-----");
        } catch (IOException E) {
            System.out.println(E);
        }
    }
}

本博客爲Swagger-Ranger的筆記分享,文章會持續更新
文中源碼地址: https://github.com/Swagger-Ranger
歡迎交流指正,若有侵權請聯繫做者確認刪除: liufei32@outlook.com源碼

相關文章
相關標籤/搜索