Java进阶之旅第十四天(doge

Java进阶之旅第十四天(doge

打印流

特点:

  • 分类: PrintStream(字节打印流)PrintWriter(字符打印流)
  • 1.打印流只操作文件的目的地,不操作数据源
  • 2.特有的写出方法可以实现->数据原样写出
  • 3.特有的写出方法,可以是实现自动刷新,自动换行

字节打印流(PrintStream

构造方法
构造方法说明
public PrintStream(OutputStream/File/String s)关联字节输出流/文件/文件路径
public PrintStream(String fileName,Charset charset)指定字符编码
public PrintStream(OutputStream out,boolean autoFlush)自动刷新
public PrintStream(OutputStream out,boolean autoFlush,String encoding)指定字符编码且自动刷新
成员方法
成员方法说明
public void write(int b)常规方法: 规则跟之前一样,将指定的字节写出
public void println(xx)打印任意数据,自动刷新,自动换行
public void print(xx)打印任意数据,不换行
public void printf(String format,Object… args)带有占位符的打印语句,不换行
代码
 public static void main(String[] args) throws FileNotFoundException {
        PrintStream ps = new PrintStream(new FileOutputStream("a.txt",true));
        //两者底层都是调用FileOutputStream()方法
        //PrintStream ps2 = new PrintStream("a.txt");
        //PrintStream ps3 = new PrintStream(new File("a.txt"));

        //三种打印方法
        ps.println(97);
        ps.print(true);
        ps.printf("\n%s爱上你","小红");
        //关闭资源
        ps.close();
    }
  • 结果
97
true
小红爱上你

字符打印流

构造方法
构造方法说明
public PrintWriter(Write/File/String s)关联字符输出流/文件/文件路径
public PrintWriter(String fileName,Charset charset)指定字符编码
public PrintWriter(Write w,boolean autoFlush)自动刷新
public PrintWriter(Write w,boolean autoFlush,Charset charset)指定字符编码且自动刷新
成员方法
成员方法说明
public void write(int b)常规方法: 规则跟之前一样,将指定的字节写出
public void println(xx)打印任意数据,自动换行
public void print(xx)打印任意数据,不换行
public void printf(String format,Object… args)带有占位符的打印语句,不换行
  • 注意:
    • 字符打印流底层有缓冲区,需要实现刷新时,必须手动打开
    • 区别: 字节打印流底层没有缓冲区,刷新部分可以忽略
代码
public static void main(String[] args) throws IOException {
        PrintWriter pw = new PrintWriter(new FileWriter("a.txt"));
        
        //PrintWriter pw2 = new PrintWriter(new File("a.txt"));
        /* pw2内部方法
        * this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))),
             false);
        */
        //PrintWriter pw3 = new PrintWriter("a.txt");
        /*pw3内部方法
        *  this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName))),
             false);
             * */

        //四种打印方法
        pw.println(97);
        pw.println("666");
        pw.print(true);
        pw.printf("\n%s爱上你","小红");
        //关闭资源
        pw.close();
    }

打印流应用场景

  • 控制台输出:打印流是Java标准输出流(System.out)的包装器,提供了方便的打印方法(如print和println),可用于在控制台上打印文本和数据。

  • 日志记录:打印流可用于将日志消息输出到文件或其他输出目标。通过将打印流指向文件,可以将日志消息保存到文件中,以便后续分析和调试。

  • 文本文件输出:打印流可以用于将文本输出到文本文件。通过将打印流指向文件,可以将文本内容写入文件中,例如生成报告、写入配置文件等。

  • 字符串构建:PrintStream 和 PrintWriter 类提供了便捷的方法来将数据格式化为字符串,并将其存储在内存中。这在构建复杂的字符串输出时非常有用,例如生成 HTML、XML 或 JSON 格式的数据。

  • 调试和排查问题:打印流是调试和排查问题的常用工具之一。通过将关键变量和调试信息打印到控制台或日志文件中,可以帮助开发人员理解程序执行过程中的状态和行为。

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不吃牛肉!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值