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源码