前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中的序列化

Java中的序列化

作者头像
用户7073689
发布2020-03-18 12:56:51
5390
发布2020-03-18 12:56:51
举报
文章被收录于专栏:青柠小鱼青柠小鱼

序列化

1.1 序列化概述

Java中提供了一种序列化操作的方式,用一个字节序列化来表示一个对象,该字节序列化中保存了【对象的属性】,【对象的类型】和【对象的数据】。把字节序列化保存到文件中,就可以做到持久化保存数据内容。

从文件中读取字节序列化数据,可以直接得到对应的对象。

1.2 ObjectOutputStream类
代码语言:javascript
复制
将对象数据序列化,保存到文件中

构造方法 Constructor
	ObjectOutputStream(OutputStream out);
		输出字节流对象作为当前方法的参数
代码语言:javascript
复制
  import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    
    public class Demo1 {
    	public static void main(String[] args) {
    		
    		ObjectOutputStream objectOutputStream = null;
    		
    		try {
    			objectOutputStream = new ObjectOutputStream(new FileOutputStream("D:/aaa/person.txt"));
    			
    			// 序列化对象,并且写入到文件中
    			objectOutputStream.writeObject(new Person(1, "骚磊", 16));
    			
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} finally {
    			if (objectOutputStream != null) {
    				try {
    					objectOutputStream.close();
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		}
    	}
    }
1.3 ObjectInputStream类
代码语言:javascript
复制
从文件中读取被序列化之后的字节数据,提供反序列化操作,得到一个对象。

构造方法 Constructor
	ObjectInputStream(InputStream in);
	需要提供一个字节输入流对象来进行操作

【序列化注意事项】

  1. 如果一个类需要进行序列化操作,必须遵从。java.io.Serializable。不遵从无法进行序列化操作
  2. 序列化之后从文件中读取序列化内容,转换成对应的对象, ClassNotFoundException 对应类没有找到。 对应的类型没有导包,不存在… InvalidClassException 类型不一样 序列化之后的每一个类都会有一个serialVersionUID,该编号在使用过程中,序列化 和反序列化必须一致
  3. transient 修饰的成员变量不能被序列化
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 序列化
    • 1.1 序列化概述
      • 1.2 ObjectOutputStream类
        • 1.3 ObjectInputStream类
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档