Java基础回顾——打印流

打印流

概述

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

import java.io.IOException;
import java.io.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() :刷新此输出流并强制任何缓冲的输出字节被写出。
        - pubtic void write(byte[ ] b):将b.Length字节从指定的字节数组写入此输出流。
        - 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 DemosPrintStream {
    public static void main(String[] args) throws IOException {
        //1.创建一个打印流PrintStream对象,构造方法中绑定要输出的目的地
        PrintStream ps = new PrintStream("FileAndIO\\src\\main\\java\\abc.txt\\print1.txt");
        ps.write(97);//a
        ps.println(97);//97
        ps.println(97);
        ps.println(97);
        ps.println(97);
        ps.println(97);
        ps.println(97);
        //释放资源
        ps.close();


    }
}

改变输出语句的目的地(打印流的流向)

import java.io.FileNotFoundException;
import java.io.PrintStream;
/*
    可以改变输出语句的目的地(打印流的流向)
    输出语句,默认在控制台输出
    使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地
        static void setOut (PrintStream out)
            重新分配“标准”输出流。
*/
public class DemosPrintStream {
    public static void main(String[] args) throws FileNotFoundException {
        System.out.println("我是在控制台输出");
        PrintStream ps = new PrintStream("FileAndIO\\src\\main\\java\\abc.txt\\目的地是打印流.txt");
        System.setOut(ps);//把输出语句的目的地改变为打印流的自的地
        System.out.println("我在打印流的目的地中输出");
        ps.close();
    }
}

posted @ 2021-05-07 18:58  牛牛ō^ō  阅读(124)  评论(0编辑  收藏  举报