c#-IO和序列化操作

IO

用到的命名空间:using System.IO;

文件和目录的管理!

File类

FileInfo类

Directory类

DirectoryInfo类

操作文件的类!

FileStream{

Seek(偏移的位置,参考位置);

CopyTo(流对象);          等

}

StreamWrite

StreamReader

BinaryWrite

BinaryReader

FileStream是对二进制的文件进行操作的,功能很强大,可以对任意文件进行操作(所有文件在计算机底层都是二进制数).

StreamWrite 和
StreamReader是对文本文件进行操作的!可以使用FileStream的对象,作为参数,也可以不使用(建议使用)!

BinaryWite和BinaryReader是对内置类型进行<写入和读取>到文件的,必须使用FileStream的对象作为参数!

Using()用于定义一个范围,在此范围的末尾将释放对象,也可以手工释放对象,如:fs.close();

序列化

用到的命名空间:using System.Runtime.Serialization.Formatter.Binary;

序列化的作用:当需要永久存储程序中的对象的时候,我们可以使用序列化来完成!

序列化:把程序中的对象写入到文件中叫序列化.

反序列化:把文件中的对象读取回来到程序中叫反序列化

注意:文件读写可以做和序列化同样的工作,但是序列化会更方便

BinaryFormatter是序列化和反序列化的类!

Serialize(流对象,要序列话的对象);//序列化

Object  obj = Deserialize(流对象);//反序列化

序列的步骤:

1:创建要序列化的对象

2:创建流对象

3:创建BinaryFormatter 的对象(用来序列化)

4:使用BinaryFormatter 的对象调用Serialize序列化对象

反序列化的步骤:

1:添加添加序列化的对象的类库

2:Using该类库的命名空间

3:创建流对象

4:创建BinaryFormatter的对象(用来反序列化)

5:使用BinaryFormatter的对象调用Deserialize反序列化对象

时间: 2024-10-07 13:09:45

c#-IO和序列化操作的相关文章

Golang中的字节序列化操作

在写网络程序的时候,我们经常需要将结构体或者整数等数据类型序列化成二进制的buffer串.或者从一个buffer中解析出来一个结构体出来,最典型的就是在协议的header部分表征head length 或者body length在拼包和拆包的过程中,需要按照规定的整数类型进行解析,且涉及到大小端序的问题. 1.C中是怎么操作的 在C中我们最简单的方法是用memcpy来一个整形数或者结构体等其他类型复制到一块内存中,然后在强转回需要的类型.如:     // produce     int a =

java.io.Serializable 序列化接口

什么是序列化.反序列化? Serialization(序列化)是一种将对象以一连串的字节描述的过程: 反序列化deserialization是一种将这些字节重建成一个对象的过程. 序列化通俗一点说就是能将Java对象转化成文本文件的一种方式. 什么情况下需要序列化 ?a)当你想把的内存中的对象保存到一个文件中或者数据库中时候:b)当你想用套接字在网络上传送对象的时候:c)当你想通过RMI传输对象的时候: 如何实现序列化 ? 将需要序列化的类实现Serializable接口就可以了. public

类对象序列化操作类

记录下类对象序列化的类以便以后用到 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Xml; using System.Xml.Serialization; namespace TTOCR.Common {

.NET提供了哪几种可进行序列化操作的类型

分析问题 为了序列化具体实例到某种专业的格式,.NET提供了三种对象序列格式化类型:BinaryFormatter.SoapFormatter和XmlSerializer. BinaryFormatter用于将可序列化的对象序列化成二进制的字节流,而SoapFormatter则致力于把可序列化的类型序列化成符合SOAP规范的XML文档,以供使用.对于那些使用Serializable特性来申明成可序列化类型的对象,BinaryFormatter和SoapFormatter可以方便地把它们序列化成特

序列化工具类({对实体Bean进行序列化操作.},{将字节数组反序列化为实体Bean.})

package com.dsj.gdbd.utils.serialize; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * * @作用:序列化工具类 * @功能: * @作者: wyt * @

Json.NET、fastJSON、ServiceStack.Text简单序列化操作性能测试

由于最近项目中需要用到JSON序列化操作,所以对JSON序列化框架做了一下对比. Json.NET(Newtonsoft.Json)是我们平常用的最多的框架,现在成为了Visual Studio Web项目模板默认引用的库之一:fastJSON号称是最小最快的序列化工具:ServiceStack.Text是著名的Stack Exchange团队的开源项目.下面我们开始测试工作: 测试环境:操作系统Windows 8.1,CPU:Intel Core i7-3610QM,Visual Studio

YxdJSON - Delphi 高性能 JSON 库(支持RTTI和序列化操作)

Delphi 高性能 JSON 库(支持RTTI和序列化操作) 支持平台: Windows, Android, iOS, Mac OS https://github.com/yangyxd/YxdJson

待整理笔记(表单序列化操作、多态函数、对象的状态队列管理模式)

1.jquery的表单序列化操作 $('.form').serializeArray();通过serializeArray()方法得到表单form(class=“form”)的dom结点下所有含有name值的节点的value值的一个数组; 这个数组由多个对象构成,每个对象有name和value两个key值. 2.编程的多态性思想 利用函数的参数数组arguments,通过判断数组的长度来选择性执行某个功能: 例如: store: function(namespace, data, remove)

C++/Qt 序列化操作

序列化操作的含义顾名思义,即按一定的次序将数据保存到存储设备中,或者从存储设备中读取一定次序的数据,且数据类型要保持一致(即读出的数据是我知道的类型).过程知道了,那怎么做呢? 我是借助Qt框架实现的一个简单的程序.(当然框架把复杂的部分给实现了.如果在你封装的数据中,意思是非Qt标准的数据类型,那么有必要实现"<<" 和 ">>" 运算子来实现自定义类型的序列化操作). 具体的实现过程如下: //order.h #include <Q