七、打印流 PrintStream

目录

1. 打印流概述

2. 打印流的使用

3. 打印流改变输出语句目的地

 4. 使用打印流记录日志文件


1. 打印流概述

PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。

打印流具有如下特点:

  • 只负责数据的输出,不负责数据的读取
  • 永远不会抛出 IOException
  • 有特有的输出方法:print( )、println( )
  • 所有的数据都会被 String.valueOf( ) 转换为字符串输出

2. 打印流的使用

(1)常用构造方法

PrintStream(File file)
          创建具有指定文件且不带自动行刷新的新打印流。
PrintStream(String fileName)
          创建具有指定文件名称且不带自动行刷新的新打印流。
PrintStream(OutputStream out)
          创建新的打印流。
PrintStream(OutputStream out, boolean autoFlush)
          创建新的打印流。
PrintStream(OutputStream out, boolean autoFlush, String encoding)
          创建新的打印流。

(2)常用成员方法

 voidprint()
          可打印基本数据类型、字符串、数组以及对象
 voidprintln()
          通过写入行分隔符字符串终止当前行。

(3)使用打印流输出信息

    @Test
    public void print() throws FileNotFoundException {
        PrintStream ps = new PrintStream("src\\com\\java\\day14\\print.txt");
        //打印基本数据类型并换行
        ps.println(111);
        ps.println(23.5);
        ps.println(true);
        ps.println('福');
        //打印字符串
        ps.println();//换行
        ps.print("这是一个字符串");
        //关闭资源
        ps.close();
    }

  


3. 打印流改变输出语句目的地

    @Test
    public void changeAddress() throws FileNotFoundException {
        PrintStream ps = new PrintStream("src\\com\\java\\day14\\print.txt");
        //输出语句
        System.out.println("默认输出到控制台");
        //改变输出语句目的地到print.txt
        System.setOut(ps);
        System.out.println("输出到文件");
        //关闭资源
        ps.close();
    }

                     


 4. 使用打印流记录日志文件

    public static void main(String[] args) throws FileNotFoundException {
        //日志文件路径
        String filePath = "src\\com\\java\\day14\\exception.txt";
        //使用文件输出流创建打印流
        FileOutputStream bis = new FileOutputStream(filePath,true);
        PrintStream ps = new PrintStream(bis);
        //错误信息
        try{
            int[] a = new int[10];
            int temp = a[11];
        }catch (Exception e){
            ps.print(new Date()+"   ");
            e.printStackTrace(ps);
        }
        ps.close();
    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值