1. 程式人生 > >文件流的使用以及序列化和反序列化的方法使用

文件流的使用以及序列化和反序列化的方法使用

不能 引入 創建 exist files 文件流對象 des file 列表

步驟一:引入IO文件和二進制格式序列化文件

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
步驟二:將圖書對象保存到文件(運用文件流存儲圖書列表)

FileStream fs = new FileStream("bookList.obj", FileMode.Create);//在根目錄下創建bookList.obj文件
BinaryFormatter bf = new BinaryFormatter();//創建二進制格式化器 bookList不能直接加到文件流對象中需要二進制格式化器進行序列化(簡單理解成把水變為冰的過程)
bf.Serialize(fs,bookList);//把當前集合序列化到文件
fs.Close();//關閉文件流

步驟三:將對象變為可序列化的對象

在類前面加上[Serealizable]

步驟四:從文件中讀取圖書列表

if(!File.Exists("bookList.obj")){
return;
}
FileStream fs = new FileStream("bookList.obj", FileMode.Open);
BinaryFormatter bs = new BinaryFormatter();
this.bookList=(List<Book>)bs.Deserialize(fs);
fs.Close();

文件流的使用以及序列化和反序列化的方法使用