IO流 p10 打印流

打印流

PrintStream 和 PrintWriter

import java.io.IOException;
import java.io.PrintStream;

/**
 * @author: 86199
 * @date: 2023/5/7 21:17
 * @description: 演示字节打印流/输出流 PrintStream
 */
public class PrintStream_ {
    public static void main(String[] args) throws IOException {
        //System.out 在 Java 中也是一个 final 对象引用,
        // 但它的初始化是在 Java 虚拟机启动时完成的,被初始化为一个指向标准输出流的对象。
        //指向的地址不能修改,这个指向的对象本身可以被修改
        PrintStream out = System.out;
        //在默认情况下,PrintStream 输出数据的位置是 标准输出 即显示器
        out.print("Hello World!");
        //因为print()的底层本身就是write(),所以我们可以直接调用write()进行打印/输出
        /* 源码
        public void print(String s) {
            if (s == null) {
                s = "null";
            }
            write(s);
          }
        */
        out.write("Hello World!".getBytes());
        out.close();

        //我们可以修改打印流输出的位置/设备
        System.setOut(new PrintStream("e:\\f1.txt"));
        System.out.println("Hello World!");//会输出到文件中
        /*
        public static void setOut(PrintStream out) {
            checkIO();
            setOut0(out);//native方法,修改了out
        }
        */
    }
}

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author: 86199
 * @date: 2023/5/7 21:51
 * @description: 演示 PrintWriter 使用方式
 */
public class PrintWriter_ {
    public static void main(String[] args) throws IOException {
//        PrintWriter printWriter = new PrintWriter(System.out);
        PrintWriter printWriter = new PrintWriter(new FileWriter("e:\\f2.txt"));
        printWriter.print("三国演义 very good!");
        //不关闭流数据就不会输出
        printWriter.close();
    }
}

热门相关:地球第一剑   学霸女神超给力   法医王妃不好当!   朕是红颜祸水   名门天后:重生国民千金