打印流(PrintStream)_概述和使用

概述:

 java.io.PrintStream:打印流
    PrintStream为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式。
PrintStream特点:
    1.只负责数据的输出,不负责数据的读取
    2.与其他输出流不同,PrintStream永远不会抛出异常IOException
    3.有特有的方法,print,println
        void print(任意类型的值)
        void println(任意类型的值并换行)

构造方法:

    PrintStream(File file):输出的目的地是一个文件
    PrintStream(OutputStream out):输出的目的地是一个字节输出流
    PrintStream(String fileName):输出的目的地是一个文件路径
PrintStream extends OutputStream
继承自父类的方法:
    -public void close():  关闭此输出流并释放与此流相关联的任何系统资源
    -public void flush():  刷新此输出流并强制任何缓冲流的输出字节被写入
    -public void write(byte[] b):  将b.leng字节从指定的字节数组写入此输出流
    -public void write(byte[] b,int off,int len):  从指定的字节数组写入len字节,从偏移量off开始输出到此输出流
    -public abstract void write(int b):  将指定的字节写入此流。

注意:
如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97–>a
如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97–>97

代码:

public class Demo01PrintStream {
    public static void main(String[] args) throws FileNotFoundException {
        //创建打印流PrintStream对象,构造方法中绑定要输出的目的地
        PrintStream ps = new PrintStream("day10_IO\\print.txt");
        //如果使用继承自父类的的方法write写数据,那么查看数据的时候会查询编码表97-->a
        ps.write(97);
        //如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97-->97
        ps.println(97);
        ps.println('a');
        ps.println("Hello");
        ps.println(true);
    }

}

程序演示:
在这里插入图片描述
在这里插入图片描述
可以改变输出语句的目的地(打印流的流向)
输出语句,默认在控制台输出
使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地
static void setOut(PrintStream out)
重新分配“标准”输出流

代码:

public class Demo02PrintStream {
    public static void main(String[] args) throws FileNotFoundException {
        System.out.println("我是在控制台输出");

        PrintStream ps = new PrintStream("day10_IO\\目的地是打印流.txt");
        System.setOut(ps); //把输出语句的目的地改变为打印流的目的地
        System.out.println("我在打印流的目的地中输出");
    }
}

程序演示:
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值