Java学习总结:47(打印流)

打印流

打印流包含字节打印流(PrintStream)和字符打印流(PrintWriter)。

例:定义打印流工具类

package Project.Study.PrintStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

class PrintUtil{                         //实现专门的输出操作功能
    private OutputStream outputStream;  //输出只能依靠OutputStream

    /**
     * 输出流的输出目标要通过构造方法传递
     * @param outputStream
     */
    public PrintUtil(OutputStream outputStream){
        this.outputStream=outputStream;
    }
    public void print(int x){               //输出int型数据
        this.print(String.valueOf(x));      //调用本类字符串的输出方法
    }
    public void print(String x){
        try{                                //采用OutputStream类中定义的方法,将字符串转变为字节数组后输出
            this.outputStream.write(x.getBytes());
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    public void print(double x){        //输出double型数据
        this.print(String.valueOf(x));
    }
    public void println(int x){         //输出数据后换行
        this.println(String.valueOf(x));
    }
    public void println(String x){      //输出数据后换行
        this.print(x.concat("\n"));
    }
    public void println(double x){
        this.println(String.valueOf(x));
    }
    public void close(){                //输出流关闭
        try{
            this.outputStream.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
public class Test1 {
    public static void main(String[]args)throws Exception{
        PrintUtil printUtil=new PrintUtil(new FileOutputStream(new File("d:"+
                File.separator+"Test"+File.separator+"test3.txt")));
        printUtil.println("你好!!!");
        printUtil.println("Hello World!!!");
        printUtil.println(1+1);
        printUtil.println(1.1+1.1);
        printUtil.close();
    }
}

结果:
在这里插入图片描述
事实上PrintStream与PrintWriter这两个类在使用上是完全一样的,方法功能也一样。所以在这里我只挑其中的一个来讲,以PrintStream为例。

PrintStream类的常用操作方法

No.方法类型描述
1public PrintStream(OutputStream out)构造通过已有OutputStream确定输出目标
2public void print(数据类型 参数名称)普通输出各种常见数据类型
3public void println(数据类型 参数名称)普通输出各种常见数据类型,并追加一个换行

上述的这些方法相当于为我们隐藏了OutputStream类中的writer()方法,即将原本的OutputStream类的功能进行包装,在保持原方法功能不变的情况下,提供更方便的操作,这就是装饰设计模式的体现。

例:使用PrintStream类实现输出

package Project.Study.PrintStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;

public class Test2 {
    public static void main(String[]args)throws Exception{
        //实例化PrintStream类对象,本次利用FileOutputStream类实例化PrintStream类对象
        PrintStream printStream=new PrintStream(new FileOutputStream(new File("d:"+
                File.separator+"Test"+File.separator+"test3.txt")));
        printStream.println("你好 世界!!!");
        printStream.println("Hello World!!!");
        printStream.println(1+1);
        printStream.println(1.1+1.1);
        printStream.close();
    }
}

结果:
在这里插入图片描述
从JDK 1.5开始,Java为PrintStream增加了格式化输出的支持方法:public PrintStream printf(String format,Object… args)。该方法的使用方法类似于C语言的输出语句。
例:格式化输出

package Project.Study.PrintStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;

public class Test3 {
    public static void main(String[]args)throws Exception{
        String name="小关爱吃汉堡";
        int age=19;
        double score=99.99999;
        PrintStream printStream=new PrintStream(new FileOutputStream(new File("d:"+
                File.separator+"Test"+File.separator+"test3.txt")));
        printStream.printf("姓名:%s,年龄:%d,成绩:%f",name,age,score);
        printStream.close();
    }
}

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值