首页 > 代码库 > 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反序列化对象