打印流-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. Java探索之旅(8)——继承与多态

    1父类和子类: ❶父类又称基类和超类(super class)子类又称次类和扩展类.同一个package的子类可以直接(不通过对象)访问父类中的(public,缺省,protected)数据和方法. ...

  2. fabric差异化部署mysql和lnmp

    1.代码如下: vim lnmp.py ------------------------------------------> #!/usr/bin/env python from fabric ...

  3. Jmeter进行简单mysql数据库测试

    1.环境准备: mysql: mysql-5.7.17.msi jdbc驱动: 自己百度一下即可 Jmeter:  3.2 2.打开Jmeter,创建测试计划,   点击浏览,添加jdbc驱动 3.添 ...

  4. 使用CocoaLumberjack时,自定义的log文件名

    CocoaLumberjack是一个功能丰富的第三方日志系统.其生成的log文件,默认是自动命名的,如果需要自定义文件名,重载两个函数即可. // Log.h#import "CocoaLu ...

  5. 2.XML实体注入漏洞攻与防

    XML实体注入基础 当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件.执行系统命令.探测内网端口.攻击内网网站等危害. 简单了解XML以后,我们知道要在XML中使用特殊字符,需要使用实体字符 ...

  6. CCS中如何新建Platform以及调用

    新建Platform: Debug模式下,选择tools -> RTSC Tools -> Platform -> New,根据自己的需要选择Platform保存的路径以及对应的芯片 ...

  7. linux下sed批量替换文件内容

    在linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容 linuxsed 批量替换多个文件中的字符串 格式: sed -i "s/查找字段/替换 ...

  8. MySQL(进阶)

    视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SEL ...

  9. DESede/CBC/PKCS5Padding

    Java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede/CBC/PKCS5Padding ...

  10. opesntack基础知识-软件包历史脉络

    软件包管理 软件包管理是每个OpenStack项目的基础,其目的是用来将项目代码打包成源码包或者二进制包进行分发.一个项目的代码可能会被打包放到PyPI上,这样你可以通过pip命令安装这个包:也可能会 ...