• Java之IO打印流


    打印流

    概述

    • 平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能方便地打印各种数据类型的值,是一种便捷的输出方式。

    PrintStream

    • 构造方法

      • PrintStream(String fileName):使用指定的文件名创建新的打印流,无需自动换行

      • 构造举例,代码如下:

        PrintStream ps = new PrintStream("ps.txt");
        
        • 1
    • A PrintStream为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。 还提供了另外两个功能。 与其他输出流不同, PrintStream从不抛出IOException ; 相反,异常情况只是设置一个可以通过checkError方法测试的内部标志。 可以选择一个PrintStream ,以便自动刷新; 这意味着flush字节数组写入方法后自动调用,所述一个println方法被调用时,或者一个新行字符或字节( '\n' )被写入。

      由印刷的所有字符PrintStream被转换成使用平台的默认字符编码字节。 在需要编写字符而不是字节的情况下,应使用PrintWriter

    • 改变打印流向

      • System.out就是PrintStream类型的,只不过它的流向是系统规定的,打印在控制台上、不过,既然是流对象,我们就可以玩一个"小把戏",改变它的流向。
      package com.io.printstream;
      
      import java.io.FileNotFoundException;
      import java.io.PrintStream;
      
      /*
           java.io.PrintStream:打印流
      
           特点:
                 1.只负责数据的输出,不负责数据的读取。
                 2.与其他输出流不同,它永远不会抛出IOException
                 3.有特有的方法,print println
      
           构造方法:
                    PrintStream(File file)使用指定的文件创建一个新的打印流,而不需要自动换行。
                    PrintStream(OutputStream out)创建一个新的打印流。
                    PrintStream(String fileName)使用指定的文件名创建新的打印流,无需自动换行。
      
           PrintStream extends OutputSteam
      
           注意:
                如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表
                如果使用字节特有的方法写数据,写的数据原样输出
      
           可以改变输出语句的目的地(打印流的流向)
           输出语句,默认在控制台输出
           使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地
                static void srtOut(PrintStream out)
                重写分配"标准"输出流
       */
      public class PrintStreamDemo01 {
          public static void main(String[] args) throws FileNotFoundException {
              System.out.println("我是在控制台输出");
      
              PrintStream ps = new PrintStream("C:\\abc\\目的地是打印流.txt");
              System.out.println(ps);
              System.out.println("我在打印流的目的地中输出");
              ps.close();
      //        PrintStream ps = new PrintStream("C:\\abc\\print.txt");
      //
      //        ps.write(97);
      //
      //        ps.close();
          }
      }
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
  • 相关阅读:
    嵌入式MCU学习利器-03-在线做RT-Thread实验
    Vue中如何进行多语言处理
    css实现的悬停菜单鼠标跟随图片显示交互特效html页面前端源码
    数据库的三大范式(重要)
    人工智能的未来:技术与道德的交汇
    VS code常用插件
    STM32 I2C总线锁死原因及解决方法
    Vue - 判断访问网页客户端设备是手机移动端还是 PC 电脑端(判断设备类型是否是移动端手机)
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[17]以太坊-GHOST协议
    【Linux】进程控制,进程替换
  • 原文地址:https://blog.csdn.net/qq_46080582/article/details/126440472