IO流(十):数据流Data,序列化流Object,序列化和反序列概念、transient关键字、Serializable接口(超详细!)

目录

概述

1、什么是数据流?

2、数据流代码演示

2.1 数据输出流DataOutputStream 

2.2 数据输入流(DataInputStream )

3、什么是序列化流?

3.1 代码演示-对象字节输出流ObjectOutputStream

3.2 代码演示-对象字节输入流ObjectInputStream

3.3 实现Serializable接口解释

3.4 序列化多个文件


概述:

本篇文章主要介绍

数据流---数据输出流(DataOutputStream )、数据输入流(DataInputStream)

序列化流---对象字节输出流(ObjectOutputStream)、对象字节输入流(ObjectInputStream)。

序列化和反序列的概念、以及什么是transient关键字、Serializable接口等

有代码案例分析,十分详细!

1、什么是数据流?

允许把数据类型和数据都读写出来的流,数据流在通信的时候是非常好用的。

数据输出流(DataOutputStream )、数据输入流(DataInputStream).

都是用于包装原始字节流的。

2、数据流代码演示

2.1 数据输出流DataOutputStream 

适合把数据和数据类型都传输出去

public class DataOutputStreamTest {
    public static void main(String[] args) {
        try (
                //创建一个原始原始字节输出流,与目标文件连接
                OutputStream outputStream = new FileOutputStream("src/main/resources/bbb.txt");
                //创建一个数据输出流,包装原始字节输出流
                DataOutputStream dataOutputStream = new DataOutputStream(outputStream)
        ) {
            dataOutputStream.writeInt(10);  //将int类型的数据写入字节输出流
            dataOutputStream.writeBoolean(true); //将Boolean类型的数据写入字节输出流
            dataOutputStream.writeDouble(10.0); //将Double类型的数据写入字节输出流
            dataOutputStream.writeUTF("我爱中国"); //将字符串数据以UTF-8的数据写入字节输出流

        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

 可以看到数据流输出的数据,这不是乱码,只是按照特定的方式存入到文件中去。

要读取bbb.tx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值