博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IO流-对象序列化操作流
阅读量:2339 次
发布时间:2019-05-10

本文共 1062 字,大约阅读时间需要 3 分钟。

//IO流-对象序列化操作流import java.io.*;class  ObjectStreamDemo{    public static void main(String[] args) throws Exception    {        writeObj();         readObject();    }    public static void readObj()    {        ObjectInputStream ois = ObjectInputStream(new FileInputStream("obj.txt"));//对象序列化读取文件        Person p = (Person)ois.readObject();//从对象读取流 返回的是Object,所以读取对象时必须进行强转        //readObject 方法用于从流读取对象。应该使用 Java 的安全强制转换来获取所需的类型。在 Java 中,字符串和数组都是对象,所以在序列化期间将其视为对象。读取时,需要将其强制转换为期望的类型。         System.out.println(p);        ois.close();     }    public static void writeObj() throws IOException    {        ObjectOutputStream oos =            new ObjectOutputStream(new FileOutputStream("obj.txt"));//对象序列化写入文件        //ObjectOutputStream 和 ObjectInputStream 分别与 FileOutputStream 和 FileInputStream 一起使用时,可以为应用程序提供对对象图形的持久存储        oos.writeObject(new Person("lisi",39));//这里的Person类必须实现serializableSerializable 接口以启用其序列化功能        //这里是new出来的Person类作为对象 作为 writeObject()参数进行写入        //writeObject 方法负责写入特定类的对象状态,以便相应的 readObject 方法可以恢复它。        oos.close();    }}

转载地址:http://gwzvb.baihongyu.com/

你可能感兴趣的文章
析构函数何时被调用
查看>>
C++虚函数底层机制
查看>>
面试题:随机数生成、蓄水池抽样、海量数据、设计秒杀系统
查看>>
malloc (0)详解
查看>>
linux清除cache的方法
查看>>
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
redis的过期健删除策略以及内存淘汰机制
查看>>
redis 双写一致性问题
查看>>
map 如何使用结构体作为自定义键值
查看>>
Mysql几种索引类型的区别及适用情况
查看>>
Redis缓存穿透、缓存雪崩、redis并发问题分析
查看>>
Redis持久化的两种方式
查看>>