java第十五次课后笔记

来源:互联网 发布:b2b网络平台占比 编辑:程序博客网 时间:2024/04/28 05:08

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=newObjectInputStream(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()));

原创粉丝点击