第8章对象持久性—文件管理.ppt

上传人:啊飒飒 文档编号:11932314 上传时间:2021-11-04 格式:PPT 页数:33 大小:2.40MB
返回 下载 相关 举报
第8章对象持久性—文件管理.ppt_第1页
第1页 / 共33页
第8章对象持久性—文件管理.ppt_第2页
第2页 / 共33页
第8章对象持久性—文件管理.ppt_第3页
第3页 / 共33页
第8章对象持久性—文件管理.ppt_第4页
第4页 / 共33页
第8章对象持久性—文件管理.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第8章对象持久性—文件管理.ppt》由会员分享,可在线阅读,更多相关《第8章对象持久性—文件管理.ppt(33页珍藏版)》请在三一文库上搜索。

1、第8章 对象持久性文件管理,1,文件和流,File类 复制文件 替换文件 移动文件 删除文件,File.copy(C:a.txt, C:b.txt); File.Replace(C:a.txt, D:a.txt); File.Move(C:a.txt, D:a.txt); File.Delete(C:b.txt);,2,转义符,文件和流,File类 时间属性 GetCreationTime, GetLastAccessTime, GetLastWriteTime, Set. 文档属性 FileAttributes GetAttributes() Normal, Achieve, Readonl

2、y, Hidden. 读写文本 ReadAllText, WriteAllText, ReadAllLines, WriteAllLines,3,4,Demo 文本文件读写,文件和流,FileStream 创建,FileStream fsl = File.Creat(C:a.txt);,5,文件和流,FileStream 创建 写入,FileStream fsl = File.Creat(C:a.txt); for (byte x=1;x=10;x+) fsl.WriteByte(x);,6,文件和流,FileStream 创建 写入 关闭,FileStream fsl = File.Crea

3、t(C:a.txt); for (byte x=1;x=10;x+) fsl.WriteByte(x); fsl.close();,7,文件和流,FileStream 打开文件 创建文件,FileStream fs1 = File.Open(C:a.txt, FileMode.Open); fs1 = File.Open(C:a.txt, FileMode.OpenOrCreate); fs1 = File.Open(C:a.txt, FileMode.CreateNew); fs1 = File.Open(C:a.txt, FileMode.Create);,8,文件不存在发生异常,文件已存

4、在发生异常,文件和流,FileStream 读写方式: Read, Write, ReadWrite,fs1 = File.Open(C:a.txt, FileMode.Open, FileAccess.Read); if (fs1.CanWrite) fs1.Write(new byte 1,2,3,5,7,11,13);,9,文件和流,FileStream 读写位置,fs1 = File.Open(C:a.txt, FileMode.Open);,10,FileStream.Position,文件和流,FileStream 读写位置,fs1 = File.Open(C:a.txt, Fil

5、eMode.Open); fs1.ReadByte();,11,FileStream.Position,文件和流,FileStream 读写位置,fs1 = File.Open(C:a.txt, FileMode.Open); fs1.ReadByte(); fs1.Write(new byte1,2,4);,12,FileStream.Position,文件和流,FileStream 读写位置,fs1 = File.Open(C:a.txt, FileMode.Open); fs1.ReadByte(); fs1.Write(new byte1,2,4); fs1.Seek(2);,13,F

6、ileStream.Position,文件和流,FileStream 读写位置,fs1 = File.Open(C:a.txt, FileMode.Open); fs1.ReadByte(); fs1.Write(new byte1,2,4); fs1.Seek(-3);,14,FileStream.Position,15,Demo 流文件读写,流的读写器,BinaryWriter 创建,FileStream fsl = File.Creat(C:a.txt); BinaryWriter bw1 = new BinaryWriter(fs1);,16,流的读写器,BinaryWriter 创建

7、 写入,FileStream fsl = File.Creat(C:a.txt); BinaryWriter bw1 = new BinaryWriter(fs1); bw1.Write(1000); bw1.Write(3.14); bw1.Write(z); bw1.Write(ABC);,17,流的读写器,BinaryWriter 创建 写入 关闭,FileStream fsl = File.Creat(C:a.txt); BinaryWriter bw1 = new BinaryWriter(fs1); bw1.Write(1000); bw1.Write(3.14); bw1.Wri

8、te(z); bw1.Write(ABC); bw1.Close(); fs1.Close();,18,流的读写器,BinaryReader 创建,FileStream fsl = File.Open(C:a.txt); BinaryReader br1 = new BinaryReader(fs1);,19,流的读写器,BinaryReader 创建 读取,FileStream fsl = File.Open(C:a.txt); BinaryReader br1 = new BinaryReader(fs1); int x = br1.ReadInt32(); double y = br1.

9、ReadDouble(); char a = br1.ReadChar(); string s = br1.ReadString();,20,流的读写器,BinaryReader 创建 读取 关闭,FileStream fsl = File.Open(C:a.txt); BinaryReader br1 = new BinaryReader(fs1); int x = br1.ReadInt32(); double y = br1.ReadDouble(); char a = br1.ReadChar(); string s = br1.ReadString(); br1.Close(); f

10、s1.Close();,21,22,Demo 流的二进制读写,流的读写器,StreamWriter 创建 写入 关闭,FileStream fsl = File.Creat(C:a.txt); StreamWriter sw1 = new StreamWriter(fs1); sw1.Write(1000); sw1.Write(3.14); sw1.Write(z); sw1.Write(0年1月,2008,8); sw1.Close(); fs1.Close();,23,流的读写器,StreamReader 创建 读取 关闭,FileStream fsl = File.Open(C:a.t

11、xt); StreamReader sr1 = new StreamReader(fs1); int x = sr1.Read(); char chs = new char3; sr1.Read(chs, 0, 3); string s = sr1.ReadLine(); sr1.Close(); fs1.Close();,24,25,Demo 流的文本读写,26,文件对话框,OpenFileDialog dlg1 = new OpenFileDialog(); dlg1.Filter = 文本文件(*.txt)|*.txt; if (dlg1.ShowDialog() = DialogRes

12、ult.OK) FileStream fs1 = File.Open(dlg1.FileName);,27,文件对话框,SaveFileDialog dlg1 = new SaveFileDialog(); dlg1.Filter = 网页文件(*.htm;*.html)|*.hml;*.html; if (dlg1.ShowDialog() = DialogResult.OK) FileStream fs1 = File.Create(dlg1.FileName);,对象持久性,28,学生 Save() Load(),对象持久性,.NET自动持久性 自动保存字段信息,Serializable

13、() public class Student private string department; public string Department get return name; set name = value; . ,29,对象持久性,.NET自动持久性 自动保存字段信息 无需保存的字段,Serializable() public class Student private string department; public string Department get return name; set name = value; . NonSerializable private s

14、tring department; ,30,对象持久性,.NET自动持久性 串行化,Student s1 = new Student(800001,王小红); FileStream fs1 = new Filestream(a.txt, FileMode.Create); BinaryFormatter bf1 = new BinaryFormatter(); bf1.Serialize(fs1, s1); fs1.Close();,31,对象持久性,.NET自动持久性 反串行化,FileStream fs1 = new FileStream(a1.txt, FileMode.Open); Student s1 = bf1.Deserialize(fs1); fs1.Close();,32,33,本章习题,采用同样的方式,BinaryWriter和StreamWriter写入文件的内容有何不同? 简述文件存储在对象系统中的应用。 简述.NET对对象持久性的支持。 使用文本读写器实现图书馆管理系统的对象持久性。 如何将多个对象的信息存储在一个文件中?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1