打印流(输出流进化版)

系统提供的两个打印流:
PrintStream:字节打印流
PrintWriter:字符打印流

打印流应用的是装饰设计模式(基于抽象类的设计模式):核心依然是某个类(OutputStream) 的功能write(()) 但是为了得到更好的操作效果,让其支持的功能更多。

class PrintUtil{
    private OutputStream out;
    public PrintUtil(OutputStream out){
        this.out = out;
    }
    public void print(String str){
        try {
            //核心在于OutputStream提供的write
            this.out.write(str.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void println(String str){
        this.print(str+"\r\n");
    }
    public void print(int num){
        this.print(String.valueOf(num));
    }
    public void println(int num){
        this.print(num+"\r\n");
    }
    public void print(double data){
        this.print(String.valueOf(data));
    }
    public void println(double data){
        this.print(data+"\r\n");
    }
    public void close(){
        try {
            this.out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public class Test {
    public static void main(String[] args) throws FileNotFoundException {
        //1.取得File对象
        File file = new File("C:\\Users\\Lenovo\\Desktop\\Test.txt");
        //2.取得输入流
        PrintUtil printUtil = new PrintUtil(new FileOutputStream(file));
        //3.进行数据输出
        printUtil.print(10.0000);
        printUtil.println(10);
        printUtil.print("hello");
        //4.关闭流
        printUtil.close();
    }
}

优点: 扩展功能特别方便,需要不同功能时只需要更换装饰类即可。
缺点: 类结构复杂。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值