输出流de爸爸----打印流

    技术2025-10-16  23

    打印流----PrintStream、PrintWriter

    文章目录

    打印流----PrintStream、PrintWriter前言实现原理PrintStream类的主要方法案例演示使用PrintStream向文件输出数据运行结果使用打印流进行格式化输出数据运行结果 总结

    前言

    在JavaIO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)、字符打印流(PrintWriter)。

    打印流具有非常强大的打印功能,可以打印任何数据类型的数据,如小数、正数、浮点数、字符串等。

    由于字节打印流和字符打印流操作类似,这次主要讲解一下字节打印流PrintStream,有兴趣的小伙伴也可以查看jdk文档哦~

    实现原理

    将一个输出流的实例传递到打印流后,可以更方便输出内容,也就是说,是打印流把输出流重新装饰了一下,就像送别人礼物,需要把礼物装饰一下才更好看,此种设计也被称为装饰设计模式。

    PrintStream类的主要方法

    序号方法类型描述1public PrintStream(File file) throws IOException构造通过一个File对象实例化PrintStream类2public PrintStream(OutputStream out)构造接收OutputStream对象,实例化PrintStream对象3public PrintfStream printf(Locale l,String format, Objects…args)普通根据指定的Locale进行格式化输出4public PrintStream printf(String format, Objects…args)普通根据本地环境格式化输出5public void print(boolean b)普通此方法被重载很多次,输出任意数据6public void println(boolean b)普通此方法被重载很多次,输出任意数据后换行

    案例演示

    使用PrintStream向文件输出数据
    package chapter_twelve; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.PrintStream; public class PrintStreamDemo01 { public static void main(String[] args) throws Exception{ File file = new File("D:" + File.separator + "test.txt"); //实例化文件类对象file OutputStream outputStream = new FileOutputStream(file); //实例化字节输出流对象 PrintStream printStream = new PrintStream(outputStream); //实例化打印流,包装的字节输出流实例化对象 printStream.print("Hello "); //向文件中打印输出数据 printStream.println("World!"); printStream.println("I am MengDe"); printStream.close(); } }
    运行结果

    使用打印流进行格式化输出数据
    package chapter_twelve; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.PrintStream; public class PrintStreamDemo02 { public static void main(String[] args) throws Exception{ File file = new File("D:" + File.separator + "test.txt"); //实例化File类对象实例 OutputStream outputStream = new FileOutputStream(file); //实例化字节输出类对象 PrintStream printStream = new PrintStream(outputStream); //实例化打印流 String name = "曹孟德"; int age = 24; float price = 9.9f; char c = 'S'; printStream.printf("姓名:%s\n", name); //以格式化的方式输出所有信息 printStream.printf("年龄:%d\n", age); printStream.printf("价格:%f\n", price); printStream.printf("级别:%c\n", c); //可以%s代替所有数据格式输出 printStream.close(); //关闭打印流 } }
    运行结果

    总结

    打印流属于装饰设计模式,使用打印流输出数据会更加方便、输出形式也多样,构造参数接收的实例化对象也可以直接是一个文件类File对象或任何字节输出流的实例,总之,太棒了哈哈,不愧为输出流的爸爸,如果还有小伙伴不太明白的话请留言私信我哦~

    Processed: 0.017, SQL: 9