zoukankan      html  css  js  c++  java
  • java 打印流

    (只有两个,PrintWriter和PrintStream)

    思考:如果现在要想完成一个字符串或者是boolean型或者是字符型的数据输出使用OutputStream是否方便?

    肯定是不方便的,因为OutputStream中只能操作字节数据,所以其他的数据类型很难操作,那么在Java的IO包中为了解决这种问题增加了两种类:PrintStream、PrintWriter

    打印流有非常好的打印功能,可以打印任何的数据类型。如,整数,小数,字符串等。

    观察PrintStream类的构造:

           public PrintStream(File file) throws FileNotFoundException    

           public PrintStream(OutputStream out)

    虽然PrintStream是OutputStream的子类,但是在实例化的时候依然需要一个OutputStream的对象。

     

    PrintWriter和PrintStream都属于输出流,分别针对字符和字节。

    PrintWriter和PrintStream重载的print()和println()用于多种数据类型的输出。

    print()里的参数不能为空;println()可以

    PrintWriter和PrintStream输出操作不抛出异常

    PrintStream调用println方法有自动flush功能;

    Eg:

    package june6D;

    import java.io.FileWriter;

    import java.io.PrintStream;

    import java.io.PrintWriter;

    public class PrintDemo9 {

        public static void main(String[] args) throws Exception {

            PrintStream ps = new PrintStream("out.txt");

            // ps.write(12);

            ps.println(10086);

            ps.println(false);

            // ps.print();针对print而言,不可以出现这样的(无参)

            ps.println();// 此时就可以

            //备注:System.out.println();想当于ps = System.out;

            ps = System.out;

            ps.println("您好!");// 控制台操作,注意上一句

            // 字符打印流

            PrintWriter pr = new PrintWriter("out2.txt");

            // PrintWriter(OutputStream out, boolean autoFlush) 通过现有的 OutputStream,创建新的 PrintWriter。(构造方法)

            pr = new PrintWriter(new FileWriter("out2.txt"), true);// 自动刷新,否则的话需要关闭资源!

            // 与PrintStream不同,若PrintWriter使用了自动刷新方法,那么必须调用println,print,format这些方法的其中一个才可以实现操作

            pr.println("呼哈哈哈哈");

            pr.println(false);

            pr = new PrintWriter(System.out, true);// 打印在控制台上

            pr.println(false);

            pr.println("河南城建学院");

            pr.println(376430645);

            // pr.close();//因为使用了自动刷新。

        }

    }

  • 相关阅读:
    表优化
    存储和压缩
    自定义函数
    Hadoop中SecondaryNameNode和HA(高可用)区别
    ASUS笔记本,更换了固态硬盘,重装系统前后开机都自动进入BIOS界面
    顶部下拉菜单制作笔记
    综合笔记
    工具sublime安装
    head引入样式
    滚动固定导航代码
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11136233.html
Copyright © 2011-2022 走看看