打印流-PrintStream

java.io.PrintStream为其他输出流添加了功能,使其他的流能够更方便的打印各种数据值表现形式

PrintStream特点:

1.只负责数据的输入,不负责数据的读取

2.与其他流不同,PrintStream不会抛出IOException异常

3.特有方法print()和println()能够打印任何类型的值

继承关系:

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

构造方法:

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)创建一个新的打印流,不需要自动换行,具有指定的文件名和字符集。

注意:因为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

打印流-PrintStream的更多相关文章

  1. IO流(五)__文件的递归、Properties、打印流PrintStream与PrintWriter、序列流SequenceInputStream

    一.文件的遍历 1.需求:对指定目录进行所有的内容的列出(包含子目录的内容)-文件的深度遍历 思想:递归的思想,在递归的时候要记住递归的层次. public class FileTest { publ ...

  2. 打印流PrintStream

    打印流PrintStream PrintStream extends OutputStream 1.打印流的特点 只负责数据的输出,不负责数据的读取 与其他的流不同,打印流永远不会抛出IOExcept ...

  3. 系统学习 Java IO (十一)----打印流 PrintStream

    目录:系统学习 Java IO---- 目录,概览 PrintStream 类可以将格式化数据写入底层 OutputStream 或者直接写入 File 对象. PrintStream 类可以格式化基 ...

  4. (JAVA)从零开始之--打印流PrintStream记录日志文件

    这里的记录日志是利用打印流来实现的. 文本信息中的内容为String类型.而像文件中写入数据,我们经常用到的还有文件输出流对象FileOutputStream. File file = new Fil ...

  5. (23)IO之打印流 PrintStream & Printwriter

    PrintStream PrintStream可以接受文件和其他字节输出流,所以打印流是对普通字节输出流的增强,其中定义了很多的重载的print()和println(),方便输出各种类型的数据. Pr ...

  6. 打印流-PrintStream和PrintWriter

    概念: 打印流是输出信息最方便的类,注意包含PrintStream(字节打印流)和 PrintWriter(字符打印流).打印流提供了非常方便的打印功能,可以打印任何类型的数据信息,例如:小数,整数, ...

  7. Day 19:Properties配置文件类、打印流(printStream) 、 编码与解码

    Properties(配置文件类): 主要用于生产配置文件与读取配置文件的信息. Properties要注意的细节:  1. 如果配置文件的信息一旦使用了中文,那么在使用store方法生成配置文件的时 ...

  8. PrintStream:打印流

    package com.itheima.demo05.PrintStream; import java.io.FileNotFoundException; import java.io.PrintSt ...

  9. 打印流(printStream)

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Pri ...

随机推荐

  1. inner join ,left join ,right join区别

    inner join ,left join ,right join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中 ...

  2. lsnrctl start错误Linux Error: 29: Illegal seek (翻译:非法谋取)

    现在,想不起来为什么ORACLE的监听,怎么就突然无法起来了呢. 好吧,问题反正就是发生了. lsnrctl start 遇到如下错误, LSNRCTL for Linux: Version 10.2 ...

  3. Vue packages version mismatch: 版本冲突;Error: EPERM: operation not permitted

    1.npm install vue-template-compiler@2.5.3 出现此问题 npm ERR! path G:\XXX.Web\node_modules\fsevents\node_ ...

  4. Citrix 虚拟化 最小化后无法最大化

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI\创建DWORD类型键值:SeamlessFlags    ...

  5. App知识点汇总

    1.Fragment 2.AndroidStudio 用夜神安卓模拟器调试 进入夜神模拟器安装目录下的bin目录,执行nox_adb.exe connect 127.0.0.1:62001,Andro ...

  6. EFK Stack容器部署

    基础环境 安装docker # curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/intern ...

  7. IIS中使用子目录文件作为默认文档(Default Document)替代重定向

    以前一直以为IIS应用程序的默认文档只能设置根目录下的文件,像index.html,default.aspx等,后来经同事指点,原来子目录或者子应用程序下的文件也可以添加到根应用程序的默认文档列表中. ...

  8. Ajax原生请求及Json基础

    1.基本结构 <script type="text/javascript"> // 创建XMLHttpRequest对象 var request = new XMLHt ...

  9. Baidu - Echarts 地图实例测试,并绘制平滑圆弧路径

    百度Echarts实例地址: http://echarts.baidu.com/examples.html 同事想做一个地图,地图上的几个点通过动态的线连接起来.但是在实例里没找到类似的. 然后仔细分 ...

  10. 上传文件到linux乱码问题

    由于linux系统编码一般设置为utf-8,而中文windows下通常默认编码是gbk,因此经常需要将文件名或文件内容编码进行转换,文件名编码转换软件:convmv yum install convm ...