使用序列化保存对象状态到存储介质

//使用序列化保存对象状态到存储介质
//添加[Serializable]
Game game = new Game();
game.Level = 2;
game.Player = "Tom";
FileStream fs = new FileStream(@"game.bin",FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,game);

//使用反序列化从存储介质读取对象状态
Game game = new Game();
FileStream fs = new FileStream(@"game.bin",FileMode.Open,FileAccess.Read);
BinaryFormatter bf = new BinaryFormatter();
game = (Game)bf.Deserialize(fs);

时间: 2024-10-11 23:22:22

使用序列化保存对象状态到存储介质的相关文章

序列化保存对象

1 [Serializable] 2 public class Student 3 { 4 public Student(int age) 5 { 6 this.age = age; 7 } 8 9 private int age; 10 11 public string Name { get; set; } 12 13 } 1 static void Load() 2 { 3 using (FileStream fs = new FileStream("stu.bin", FileM

Android处理运行时变更保存数据状态恢复Activity

一.概述 运行时变更就是设备在运行时发生变化(例如屏幕旋转.键盘可用性及语言).发生这些变化,Android会重启Activity,这时就需要保存activity的状态及与activity相关的任务,以便恢复activity的状态. 为此,google提供了三种解决方案: 对于少量数据: 通过onSaveInstanceState(),保存有关应用状态的数据. 然后在 onCreate() 或 onRestoreInstanceState() 期间恢复 Activity 状态. 对于大量数据:用

Java序列化与对象流浅谈

今晚又重新回顾了Java中序列化与对象流的知识,接触了一位有着上亿行有效代码量的大佬之思想,2333. 1.序列化与反序列化 Java中的序列化简而言之就是为了避免要重复使用的实例在每次执行程序过程中都要重新申请堆空间,序列化后直接加载,节约时间.序列化过程中,保存在文件中的对象只记录了对象的状态(属性),包括成员和类类型(名称),而不会存储对象的方法.可看做将一个有着灵魂的人进行灵魂转移,转移的只是他的记忆,他自己的各种行为,比如吃饭.睡觉--,每个人都拥有,且行为表现一样,即只需转移(保存)

保存对象

在接触redits的时候,看到项目许多对象继承了Serializable,序列化对象.其实际作用就是将对象保存起来.参考http://developer.51cto.com/art/201202/317181.htm我觉得写得通俗易懂. 1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定

PHP 对象的存储与传输(序列化 serialize 对象)

当用户数量很多时,可以考虑用 session 来保存对象.关于 session 的更多信息,请参见<PHP Session>. 例子: name = $name; $this->age = $age; } function say() { echo "我的名字叫:".$this->name.""; echo " 我的年龄是:".$this->age; } } $_SESSION["p1"] = n

使用SQL Server保存Session状态,实现单点登录

在做一些应用网站时,我们可能会碰到这样一种情况:整个项目是由多个网站组成的,而我们要实现用户从一个站点登录后,跳转到其他网站不需要重复登录,即实现单点登录.目前实现单点登录的技术也有好几种,这篇文章描述一下如何使用ASP.NET2.0和SQL Server来实现单点登录.一般在用户登录成功后,我们需要把用户登录成功的信息保存在Session里,但是Session的值只能保存在用户当前访问的站点下,只要我们实现了Session的跨站共享,也就基本上实现了用户在一个站点登录成功后在其他站点不需要重复

Android使用SharedPreferences保存对象

核心原理: 对象序列化 步骤 1.要保存的对象实现序列化Serializable 2.将序列化的对象保存String(本文的做法是保存为byte数组在转为16进制的String类型保存起来) 3.将保存的String反序列化为对象 下面是完整代码 步骤1.要保存的对象实现序列化Serializable public class Sertest implements Serializable{ private String name; private int age; } 步骤2.将序列化的对象保

Hibernate(四)之对象状态及一级缓存

一.Hibernate中的对象状态 1.1.瞬时态(临时态) 没有与Hibernate产生关联 与数据库中的记录没有产生关联(有关联就是与数据库中表的id相对应) 获得:一般都只直接创建(new) 瞬时态 转换 持久态 一般操作:save方法.saveOrUpdate 瞬时态 转换 脱管态 一般操作:通过setId方法设置数据 1.2.持久态 Hibernate有关联 对象有id 获得: 查询操作:get.loat.createQuery.createCriteria 等 获得都是持久态[] 执

hibernate学习(5)——对象状态与一级缓存

1.对象状态 1.1   状态介绍 hibernate 规定三种状态:瞬时态.持久态.脱管态 瞬时态:transient,session没有缓存对象,数据库也没有对应记录.没有与hibernate关联,与数据库中的记录没有产生关联. OID特点:没有值 持久态:persistent,session缓存对象,数据库最终会有记录.(事务没有提交)与hibernate关联,对象有id OID特点:有值 脱管态:detached,session没有缓存对象,数据库有记录.没有与hibernate关联,对