序列化与字符流的操作
序列化的步骤:
前提:要序列化的类型一定要支持序列化
1、创建文件流
2、创建格式化器
3、进行序列化操作
4、关闭资源
1、创建文件流
fs = new FileStream("abc.bin", FileMode.OpenOrCreate);
//2、创建格式化器
BinaryFormatter bf = new BinaryFormatter();
//3、进行序列化操作
bf.Serialize(fs, stu);//参数一:文件流 参数二:要序列化的对象
FileStream fs = null;
//1、创建文件流
fs = new FileStream("abc.bin", FileMode.OpenOrCreate);
//2、创建格式化器
BinaryFormatter bf = new BinaryFormatter();
//3、反序列化操作
Student stu = (Student)bf.Deserialize(fs);
Console.WriteLine(stu.Name+"-"+stu.Age);
fs.Close();
---------------------
字符流
//1、创建字节流
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
//2、创建字符流(包装、封装字节流)
StreamWriter sw = new StreamWriter(fs);
//3、进行写操作
sw.WriteLine("你好!");
sw.WriteLine("hello world!");
//4、关闭流
sw.Close();
fs.Close();
/*字符流使用步骤:
1、创建字节流
2、创建字符流(包装、封装字节流)
3、进行读写操作
4、关闭流
string path = @"e:\my.txt";
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
//读到结尾
//string result = sr.ReadToEnd();
//Console.WriteLine(result);
//读一行数据
//string s = sr.ReadLine();
//Console.WriteLine(s);