java第十五次课后笔记

1.

8位流,产品流(又称装饰流):必须依赖基本流

装饰流:装饰设计模式,在产品上添加一些新的功能形成新的产品

Java.io.ObjectInputStream

Java.io.ObjectOutputStream

Java.io.DateInputStream

Java.io.DateOutputStream

Java.io.PrintStream: 打印流可以依赖可以不依赖基本流

Java.io.BufferedInputStream:加快速度,优化读取。(放在File和Object之间)

Java.io.BufferedOutputStream

 

简单工厂:创建型设计模式(不属于23种设计模式)

 

Java.io.ByteArrayInputStream

Java.io.ByteArrayOutputStream

2.装饰模式举例.

publicclass 奶茶 {

 

    int price=5;

    public String getName() {

        return "奶茶";

    }

    public int getPrice(){

        return price;

    }

publicclass 巧克力  extends 奶茶{

     private int price=3;

     奶茶c=null;

    public 巧克力(奶茶 c){

        this.c=c;

    }

    public String getName() {

        return "巧克力"+ c.getName();

    }

    public int getPrice(){

        return price+c.getPrice();

    }

}

public staticvoid main(String[] args) {

奶茶a3=new 巧克力(new 红豆(new 奶茶()));

        System.out.println(a3.getName());

        System.out.println(a3.getPrice());

}

3.对象的写入

基本流:FileOutputStreamout=new FileOutputStream("d:\\a.obj");

BufferedOutputStreamobin=new BufferedOutputStream(out);装饰城对象,具有加快速度,优化读取的作用(放在FileOutputStream 和 ObjectOutputStream 中间)

ObjectOutputStream oout=new ObjectOutputStream(obin);

 

对象的读取:

FileInputStreamin=new FileInputStream("d:\\a.obj");

BufferedInputStreamibin=new BufferedInputStream(in);

ObjectInputStreamoin=new ObjectInputStream(ibin);

Dog d1=(Dog)oin.readObject();

4.

FileOutputStreamout=new FileOutputStream("d:\\a.obj");

DateOutputStream dateout=new DateOutputStream(out);数据类型流

5.

System.setOut(new PrintStream(“c:\\a.log”));通道替换,打印在文件上

System.out.println(“gubnjhi”);

6.控制台输入

 InputStreamin=System.in;

byte[]b=byte[1024];

in.read(b);

System.out.println(newString(b).trim());

7.常规的访问方式:”Hello”           字节           Output             硬盘

 


                                         String            字节

8.装配假流

byte[] bb="hello java!!!".getBytes();

        ByteArrayInputStream bin=new ByteArrayInputStream(bb);

        BufferedInputStream in=new BufferedInputStream(bin);

        byte[] b=new byte[100];

        in.read(b);

        System.out.println(new String(b).trim());

        in.close();

9.截获

ByteArrayOutputStream bout=new ByteArrayOutputStream();

        System.setOut(new PrintStream(bout));

        System.out.println("bswaojdbfcwe");

        System.out.println("bswaojdbfcwe");

        System.out.println("bswaojdbfcwe");

        System.err.println(new String(bout.toByteArray()));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值