二进制流BinaryFormatter存储读取数据的细节测试
二进制流的使用很方便,为了更好的理解应用它,我创建简单对象开始测试它的增加特性和减少特性.
[Serializable]
class Data----------开始时候的存储对象
{
public string name = "namex";
public string ceshia = "aa";
public string ceshib = "bb";
} [Serializable]
class Data----------在代码中修改存储类, 增加了新的字段
{
public string name = "namex";
public string ceshia = "aa";
public string ceshib = "bb"; public string ceshic = "cc";
public int md = ;
public long ml = ;
} //读取后,新增加的值由于在原来存储文件中不存在,它们被赋予默认初始值,而非代码中指定的初始值. string ceshic = null;
int md = ;
long ml = ; //减少数据后, 不会影响原来的值.存储多余的值被自动忽略 [Serializable]
class Data----------在代码中修改存储类,
{
public string name = "namex";
public string ceshia = "aa";
public string ceshib = "bb"; // public string ceshic = "cc";
// public int md = 21;
// public long ml = 2;
} //需要注意的点来了,新增加的变量名字不能原来存储过的变量名字相同,如果相同,系统不会因为变量类型不同,而判断是不同变量值,而会抛出异常,提醒你无法转化.
[Serializable]
class Data----------在代码中修改存储类,
{
public string name = "namex";
public string ceshia = "aa";
public string ceshib = "bb"; // public string ceshic = "cc";
// public int md = 21;
// public long ml = 2;
public string ml = ;//新增加的变量名字和原先存储的数据变量名字相同
}
所以在多次增加或者删除字段时,尽量保持变量的名字都是不同的,这样增减字段都会保持与过去存储文件的兼容性!
二进制流BinaryFormatter存储读取数据的细节测试的更多相关文章
- python编码与存储读取数据(数组字典)
Camp时在python2的编码上坑了不少. 理解pyhon2的编码 python2字符串类型只有两种: str类型:b'xxx'即是str类型, 是编码后的类型,len()按字节计算 unicode ...
- sessionStorage用于分页,瀑布流和存储用户数据等
在手机网页开发中,会用到分页和瀑布流来分量显示数据.这里会遇到一个问题.当点击某条数据进入详情后,再按手机的返回键会到上一个页面,该页面是重新加载的. 本人在微信里用内置的qq浏览器打开页面,wind ...
- 二进制流 最后一段数据是最后一次读取的byte数组没填满造成的
while(in.read(temp)!=-1){ out.write(temp); } 改成: int len; while((len=in.read(temp))!=-1){out.write(t ...
- SharedPreferences存储读取数据
存储 //创建SharedPreferences 存储用户名SharedPreferences sharedPreferences = getSharedPreferences("name& ...
- c# file 上传EXCEL文件,以流的形式读取数据
1.引入 Aspose.Cells public void test() { HttpFileCollection filelist = HttpContext.Current.Request.Fi ...
- 第十二节,TensorFlow读取数据的几种方法以及队列的使用
TensorFlow程序读取数据一共有3种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow图的起 ...
- 【Android】数据存储-java IO流文件存储
1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.Sh ...
- .NET中二进制图片的存储与读取
判断HttpContext是否为空: string configPath = "img/defaultPhoto.png"; if (HttpContext.Current != ...
- python+ mysql存储二进制流的方式
很多时候我们为了管理方便会把依稀很小的图片存入数据库,有人可能会想这样会不会对数据库造成很大的压力,其实大家可以不用担心,因为我说过了,是存储一些很小的图片,几K的,没有问题的! 再者,在这里我们是想 ...
随机推荐
- webpack-Modules(模块)
模块(Modules) 在模块化编程中,开发者将程序分解成离散功能块(discrete chunks of functionality),并称之为模块. 每个模块具有比完整程序更小的接触面,使得校验. ...
- powerdesign导出SQL时自己主动生成凝视
1.使用脚本的方式 在里面执行 Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' ...
- Nyquist–Shannon sampling theorem 采样定理
Nyquist–Shannon sampling theorem - Wikipedia https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_s ...
- flask 文件下载 文件服务器 请求参数 函数修饰符
180M电子书 通过已经下载到pc,在上传到私有公网服务器,之后,再异地下载 以下代码,文件内容错乱 [root@bigdata-server- mydataweb]# tree . ├── mydl ...
- Linux如何查看进程等常用命令
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出程序时,显示每个程序真正的 ...
- CSS 对齐方式
居中设置 Center Align - Using margin Setting the width of a block-level element will prevent it from str ...
- YTU 2416: C语言习题 成绩输出
2416: C语言习题 成绩输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 1111 解决: 417 题目描述 输入n(<=10)个学生的姓名.学号和成绩,将其中不及格者的姓 ...
- YTU 2852: 二分查找
2852: 二分查找 时间限制: 1 Sec 内存限制: 128 MB 提交: 215 解决: 79 题目描述 输入不多于20个升序排列的整数,以及一个待查找的数key,输出key在序列中的位置( ...
- oracle 建表 主键自增序列/////
oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity( 2 ...
- DOM方式解析xml实例2
老样子,javabean实体类: import java.io.*; public class Book implements Serializable { private int id; priva ...