序列化(对象写入文件)   反序列化(从文件读取对象)

public class Demo01 {

public static void main(String[] args) throws IOException, ClassNotFoundException {

//序列化 对象写入文件

FileOutputStream fos=new FileOutputStream("D:\\person.txt");

ObjectOutputStream oos=new ObjectOutputStream(fos);//序列化

Person p=new Person("zhangsan",18); //对象  需要实现接口

oos.writeObject(p);   //写入对象  对象可为 存储Person的集合

oos.close();

//反序列化 从文件中读出对象

FileInputStream fis=new FileInputStream("D:\\person.txt");

ObjectInputStream ois=new ObjectInputStream(fis);

try {

while(true) { //Person.class丢失ClassNotFoundException

Object obj = ois.readObject(); //读取对象

Person p2=(Person)obj; //转Person类型

System.out.println(p2); //输出 调用p2.toString()

}

} catch(EOFException e) {

System.out.println("读到了文件的末尾");

}

ois.close();

}

}

public class Person implements Serializable{//实现(标记类)接口  无抽象方法

private String name; //对象才可以序列化

//private int age;

//private static int age;//静态修饰  是类的数据 也不会被序列化

private transient int age;//瞬态关键字transient修饰的属性不会序列化

private static final long serialVersionUID=4321L;//序列化号写死

//修改Person类后也能反序列化

public String getName(){return name;}

public void setName(String name){this.name = name;}

public int getAge(){return age;}

public void setAge(int age){this.age = age;}

public Person(){super();}

public Person(String name, int age) {

super();

this.name = name;

this.age = age;

}

@Override

public String toString() {

return "Person [name=" + name + ", age=" + age + "]";

}

}

java c 序列化_Java 序列化相关推荐

  1. java序列化_Java序列化详解

    什么是序列化? 在Java中,对象序列化表示将对象表示为字节序列.字节包括对象的数据和信息.可以将序列化的对象写入文件/数据库,然后从文件/数据库中读取并反序列化.代表对象及其数据的字节可用于在内存中 ...

  2. java实现序列化_java 序列化实现方式总结

    什么是序列化,可能大家都知道,但又不很清楚,呵呵,就像我一样,下面是一段百度百科的说明,说的很清楚,可以参考下 序列化 (serialization) 将对象的状态信息转换为可以存储或传输的窗体的过程 ...

  3. java string 反序列化_java序列化和反序列化

    引语: 平时我们在运行程序的时候,创建的对象都在内存中,当程序停止或者中断了,对象也就不复存在了.如果我们能将对象保存起来,在需要使用它的时候在拿出来使用就好了,并且对象的信息要和我们保存 时的信息一 ...

  4. java protostuff 好处_Java 序列化框架性能对比(kryo、hessian、java、protostuff)

    简介: 优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 Protostuff 速度快,基于protobuf 需静态编译 Protostuff-Ru ...

  5. java list反序列化_java序列化与反序列化操作实例分析

    本文实例分析了java序列化与反序列化操作.分享给大家供大家参考,具体如下: 概述: Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程. ...

  6. java serializable用法_JAVA序列化Serializable及Externalizable区别详解

    序列化简介 Java 的对象序列化将那些实现 Serializable 接口的对象转换成一个字节序列,并能在之后将这个字节序列完全恢复为原来的对象. 这就意味着 Java 对象在网络上的传输可以不依赖 ...

  7. java 操作序列_JAVA序列化操作详解

    一.概述 很多时候我们需要将对象的信息以文件的形式存储到硬盘上以便以后可以恢复使用.我们可以按照一定的格式将变量的值依次写到特定格式的文件中.但有时候我们希望只有我们自己可以读懂它并且修改它,这就是序 ...

  8. java文件序列化_Java序列化与反序列化,文件操作

    参考两篇博客: http://blog.csdn.net/moreevan/article/details/6697777 http://blog.csdn.net/moreevan/article/ ...

  9. java 变量序列化_Java序列化与静态变量

    简介: Java序列化,就是指将一个对象转化为二进制的byte流(注意,不是bit流),然后以文件的方式进行保存. 序列化操作:将对象保存至文件: 反序列化操作:从文件恢复出对象: 配置: 对象如果要 ...

  10. java oracle序列化_Java序列化(Serialization)的理解

    1.什么是序列化 Java是面向对象的编程语言,有时需要保存对象,并在下次使用时可以顺利还原该对象.由于这种需求很常见,所以Java API对此提供了支持,添加相关程序代码到标准类库中,并将保存和还原 ...

最新文章

  1. CentOS SVN服务器管理多项目
  2. hdu1686 最大匹配次数 KMP
  3. poj 3920(简单dp)
  4. 第四章 Rails 背后的 Ruby
  5. 程序员如何优雅地使用 Mac?
  6. Python 字符串操作基础
  7. 通过从全局和类内部重载operator new /delete来获取内存管理权
  8. Python笔记-windows平台中Flask打包成exe
  9. 【转】经典SQL语句大全
  10. 1个系统节拍 c语言_【课程】乐理知识讲重点第九课(节拍与节奏)
  11. 微信服务号实现低配版Siri
  12. 空间权重矩阵构建(Stata代码)
  13. java循环遍历map集合_Java中遍历Map集合的四种方法
  14. java severs_openssl简介-指令s_server
  15. Origin 数据渐变色
  16. html微博系统前端论文,微博平台设计与实现(毕业论文).doc
  17. cpu、内存、硬盘之间的关系
  18. 工具的服务端口已关闭。要使用命令行调用工具,请打开工具 - 设置 - 安全设置,将服务端口开启。
  19. 暴雪hash java_暴雪招聘:Java与C++工程师 暴雪总部图赏
  20. mysql guanwnag_Error while deserializing binlog event at offset

热门文章

  1. React 项目--引入bebal 解析JSX(5)
  2. linux 后台运行jar SpringBoot
  3. 元素 “aop:aspectj-autoproxy” 的前缀 “aop” 未绑定
  4. Spring注入---静态工厂
  5. Nat. Med. | 制定指导原则以报告AI在临床试验中的使用
  6. AAAI | 深度生成模型—NEVAE
  7. Android Binder设计与实现 – 设计篇
  8. python os system用法_Python调用系统命令os.system()和os.popen()的实现
  9. 监控摄像头cad图例_一套实用的智能化弱电系统大样图,可以作为弱电项目CAD设计素材...
  10. htop 和 bashtop 的一些不足