04JavaIO详解_DataInputStream(属于过滤l流)

本文通过一个具体的Java示例介绍了装饰者模式的应用,并展示了如何使用DataInputStream进行二进制数据的读写操作。该示例包括了创建具有缓冲功能的文件输出流,并通过DataInputStream写入不同类型的数据到文件中,最后再读取这些数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataInputStream这个类是二进制读写的。并且 是过滤流,会一层套一层的。这里就是装饰者模式。

 

public class DataStream1 {

    public static void main(String[] args) throws IOException {
        /*
         * 
         * 
         * 
         * 
         * 这种写法就是装饰者模式的。new FileOutputStream("qq.txt")表示打开一个流。new BufferedOutputStream(new FileOutputStream("qq.txt"))
         * 表示这个流具有缓冲的功能。new DataOutputStream(new BufferedOutputStream(new FileOutputStream("qq.txt")))表示具有写入二进制的功能。
         * 
         * 
         * 
         */
        
        DataOutputStream dataOutputStream=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("qq.txt")));
        byte b=3;
        int i=12;
        char ch='a';
        float f=3.3f;
        /*
         * 依次按照各自的类型(byte,int,char,float)这样写入qq.txt这个文件,里面的数据都是二进制。
         * 
         * 
         */
        dataOutputStream.writeByte(b);
        dataOutputStream.writeInt(i);
        dataOutputStream.writeChar(ch);
        dataOutputStream.writeFloat(f);
        dataOutputStream.close();
        
        /*
         * 根据存放的顺序,依次把值读出来
         */
        DataInputStream dis=new DataInputStream(new BufferedInputStream(new FileInputStream("qq.txt")));
        System.out.println(dis.readByte());
        System.out.println(dis.readInt());
        System.out.println(dis.readChar());
        
    }
    
}

结果是:3
          12
           a


 

 

案例如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值