使用打印流优化数据输出 | 带你学《Java语言高级特性》之六十五-阿里云开发者社区

开发者社区> Java开发者> 正文

使用打印流优化数据输出 | 带你学《Java语言高级特性》之六十五

简介: 为了弥补原始的OutputStream功能的不足,java.io包为开发者提供了打印流:PrintStream类和PrintWriter类,本节将为读者介绍其基本内容和使用方法。

上一篇:“有限”的OutputStream | 带你学《Java语言高级特性》之六十四

为了弥补原始的OutputStream功能的不足,java.io包为开发者提供了打印流:PrintStream类和PrintWriter类,本节将为读者介绍其基本内容和使用方法。

【本节目标】
通过阅读本节内容,你将了解到打印流相关类的相关定义和继承关系,了解其相关功能,学会使用打印流实现数据的简单输出和格式化输出的功能。
但是既然所有的开发者都已经发现了原始中的OutputStream功能的不足,设计者也一定可以发现,所以为了解决输出问题,在java.io包中提供有打印流:PrintStream、PrintWriter。
PrintStream:

public class PrintStream extends FilterOutputStream implements Appendable, Closeable
构造方法:public PrintStream(OutputStream out);

PrintWriter:

public class PrintWriter extends Writer
构造方法:public PrintWriter(OutputStream out);

image.png
打印流

下面使用PrintWriter来实现数据的输出操作。
范例:数据输出

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        File file = new File("d:" + File.separator +"mldn.txt");   //定义操作文件
        PrintWriter pu = new PrintWriter(new FileOutputStream(file));
        pu.println("姓名:小强子");
        pu.print("年龄:");
        pu.print(78);
        pu.close();
    }
}

从JDK1.5开始,PrintWriter类里面追加有格式化输出的操作支持:

public PrintWriter format(String format, Object... args)

范例:格式化输出

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        File file = new File("d:" + File.separator +"mldn.txt");   //定义操作文件
        PrintWriter pu = new PrintWriter(new FileOutputStream(file));
        String name="小强子子";
        int age=78;
        double salary=72823.6323113;
        pu.printf("姓名:%s、年龄:%d、月收入:%9.2f",name,age,salary);
        pu.close();
    }
}    //姓名:小强子子、年龄:78、收入:72823.63

比起直接使用OutputStream类,那么使用PrintWriter、PrintStream类的处理操作会更加简单。以后只要是程序进行内容输出的时候全部使用打印流。

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:System类助力标准IO实现 | 带你学《Java语言高级特性》之六十六
更多Java面向对象编程文章查看此处

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

Java开发者成长课堂

官方博客
官网链接