步骤一:引入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();
文件读取器的使用:
//创建文件流和文件读取器
FileStream fs = new FileStream(path, FileMode.Open);
StreamReader sr = new StreamReader(fs,Encoding.Default);//读取的文件流和默认的编码
tvDate = sr.ReadLine(); //读取文本第一行的电视节目日期