首页 > 代码库 > Java学习笔记——序列化和反序列化
Java学习笔记——序列化和反序列化
寒雨连江夜入吴,平明送客楚山孤。
洛阳亲友如相问,一片冰心在玉壶。
——芙蓉楼送辛渐
持久化数据的第一种方式。在序列化之前也可以把数据打散逐行存储在文件中,然后在逐行读取。
比如定Student类
用字符输出流把Student类的所有属性存入本地文件:
张三|18|男
李四|18|女
读取一行,用|分隔的数据分别为学生的name,age,gender,创建学生对象并加入学生集合
循环上一步直到br.readLine = null
至于这种方法怎么存储对象的其他信息那就不清楚了。
下面来看序列化
上代码:
1 public class SerializableDemo { 2 3 public static void main(String[] args) throws IOException, ClassNotFoundException { 4 //序列化对象obj,将obj存入本地文件obj.bin.对象obj的类必须Serializable接口 5 OutputStream os = new FileOutputStream("/home/yanshaochen/public/obj.bin");//OutputStream抽象类 6 ObjectOutputStream oos = new ObjectOutputStream(os);//ObjectOutputStream实例类 7 oos.writeObject(obj);//持久化obj 8 oos.close(); 9 //反序列化 10 InputStream is = new FileInputStream("/home/yanshaochen/public/obj.bin"); 11 ObjectInputStream ois = new ObjectInputStream(is); 12 @SuppressWarnings("unchecked") 13 Object obj =(Object)ois.readObject();//强制转换可能出现ClassNotFoundException异常 14 } 15 }
Java学习笔记——序列化和反序列化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。