Java-IO流-ObjectInputStream与ObjectOutputStream

本文介绍了Java中的ObjectInputStream和ObjectOutputStream,用于实现对象的序列化和反序列化。通过示例展示了如何将内存中的Java对象写入文件并从文件中读取。序列化是将对象转换为二进制数据,方便存储或网络传输,而反序列化则是将这些二进制数据恢复为原始对象。

Java-IO流-ObjectInputStream与ObjectOutputStream

  • 对象流ObjectInputStream,ObjectOutputStream
  • ObjectInputStream:将文件中存储的Java对象读到内存中,这个过程也叫做反序列化
  • ObjectOutputStream: 将内存中的Java对象写入到本地文件中,这个过程也较多序列化
  • 序列化和反序列化
    • 把内存中的Java对象转换成平台无关的二进制数据,从而允许把这种二进制数据持久地保存在磁盘上,或通过网络将这种二进制数据传输到另一个网络节点。----》序列化
    • 用ObjectInputStream类 : 当其它程序获取了这种二进制数据,就可以恢复成原来的Java对象。----》反序列化
  • 示例:
public class Test01 {
    // 这是main方法,实现程序主要逻辑
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        // 对象流,将对象写入或读取
        // ObjectInputStream\ObjectOutputStream
        // ObjectOutputStream
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("E:\\Study\\java_train_code\\JavaSE基础\\demo2.txt")));
        // 执行写入
        oos.writeObject("你好");
        // 关闭流
        oos.close();

        // ObjectInputStream
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("E:\\Study\\java_train_code\\JavaSE基础\\demo2.txt")));
        // 读取
        String str = (String) (ois.readObject());
        System.out.println(str);
        // 关闭流
        ois.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值