首页 > 代码库 > c#-IO和序列化操作

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反序列化对象