- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#2008程序设计基础案例教程 第八章 数据流和文件 8.1 System.IO命名空间概述 System.IO命名空间中包含了文件、目录、路径和流等操作相关的所有类。流与文件是既相关又有区别的两个概念。文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。相反,流提供一种向后备存储写入字节和从后备存储读取字节的方式,后备存储包括软盘、硬盘、内存、网络等。与读写文件对应的流称为文件流,除此之外也存在多种流,例如:网络流、内存流和磁带流等。 8.1.1 案例功能 在图书借阅管理系统的备忘录窗口中(见下图),使用文件流的读写存取日志。当加载窗体时,从文件Log.txt中读取日志信息显示在窗口中。用户也可以在文本框中输入并添加新的日志信息,点击“备份按钮”进行日志文件备份。 8.1.2 案例步骤 为“添加”、“删除”按钮和窗体的Load事件编写代码。 查看代码 可以看到,在代码中主要用到了FileSteam类。FileSteam(文件流)这个类主要用于在二进制文件中读写二进制数据,也可以使用它读写任何文件。 FileSteam类 要构造FileSteam实例,需要以下4条信息: 要访问的文件。 表示如何打开文件的模式。例如,创建一个新文件或打开一个现有的文件。如果打开一个现有的文件写入操作是覆盖文件原来的内容,还是添加到文件的末尾? 表示访问文件的方式——是只读、只写,还是读写? 共享访问——表示是否独占访问文件。如果允许其他流同时访问文件,则这些流是只读、只写还是读写文件? FileMode、FileAccess和FileShare枚举 构造FileSteam实例的后三个参数值分别取FileMode、FileAccess和FileShare枚举的枚举值。 流的关闭 使用完一个流后,就应关闭它,如案例中代码: fs.Close(); 关闭流会释放与它相关的资源,允许其他应用程序为同一个文件设置流。在打开和关闭流之间,可以读写其中的数据,FileStream有许多方法可以进行这样的读写。 8.1.3 案例拓展 StreamReader和StreamWriter类 这两个类专用于读写文本文件 StreamReader.ReadLine()方法:读取一行文本 StreamWriter.WriteLine() :写入一行文本,并自动换行 StreamReader类 该类只能执行读操作。一般构造时提供两个参数: 编码格式 文件名或另一个流对象 例如: StreamReader sw = new StreamReader(ReadMe.txt); StreamReader sw = new StreamReader(ReadMe.txt,Encoding.UTF8); FileStream fs = new FileStream(Log.txt, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); Encoding枚举 命名空间:System.Text 这个类是一个抽象基类,可以根据这个类定义许多类,其方法可获取实际的文本编码。它的每个属性都返回相应类的一个实例,可以使用的属性包括: ASCII Unicode UTF7 UTF8 UTF32 BigEndianUnicode 也可通过GetEncoding方法获得指定代码页的编码。 StreamWriter类 构造方式与StreamReader类类似,它只能用于写入文件。 构造时可以使用bool类型参数指定是否以追加方式打开,例如: StreamWriter sw = new StreamWriter (ReadMe.txt,true,Encoding.ASCII); 与FileStream一样,应在使用后关闭StreamReader和StreamWriter,例如: sw.Close(); 8.1.4 案例思考 通过对备忘录功能的代码分析,我们发现在对日志文件进行读写时,做法都是先构造FileStream实例,之后将StreamReader或StreamWriter关联到这个流上。读者可以尝试修改代码,使之直接用文件名作为参数构造StreamReader或StreamWriter实例,并分析修改前后的区别。 前面提到StreamReader和StreamWriter类在构造时都可以指定编码方法。若写入文件时指定一种编码(例如ASCII),而读取文件时指定另一种编码(例如UTF8),将会产生什么状况?试分析其原因。 8.2 文件及文件夹的管理 在备忘录功能中多次用到了文件及文件夹的管理,如文件的备份,删除备份(即删除文件)、判断文件或文件夹是
您可能关注的文档
- C 程序设计简明教程雷新贤 C06.ppt
- C 程序设计简明教程雷新贤 C07.ppt
- C 程序设计简明教程雷新贤 c08.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 1 15 第2章.ppt
- C 程序设计简明教程雷新贤 c09.ppt
- C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著 第1章 数制间的相互转换.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 1 15 第3章.ppt
- C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著 第2章 基础知识.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 1 15 第4章.ppt
- C 程序设计教程 教学课件 作者 戴水贵 敖志刚 俞海英 编著 第3章 条件语句.ppt
- C# 2008程序设计基础案例教程 教学课件 作者 江南 第四章 函数.ppt
- C# 2008程序设计基础案例教程 教学课件 作者 江南 第五章 调试与异常处理.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 16 32 第23章.ppt
- C# 2008程序设计基础案例教程 教学课件 作者 江南 第五章 用户界面设计.ppt
- C# 2008程序设计基础案例教程 教学课件 作者 江南 第一章 概述.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 16 32 第27章.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 16 32 第28章.ppt
- AutoCAD2010中文版学习与实训教程 教学课件 作者 龙建明 16 32 第29章.ppt
- C# WinForm实践开发教程钱哨电子教案 chp4.图型图像GDI编程.ppt
- C# WinForm实践开发教程钱哨电子教案 chp5.多线程编程技术.ppt
最近下载
- 吸引眼球的单页高端简历模板下载 (5).doc VIP
- 优必选yanshee产品帮助手册-20180718.pdf VIP
- 2025上海市六年级升七年级暑假数学衔接讲义 第05讲 整式的加减 单元综合检测(难点)(解析版).docx VIP
- 危重患者小剂量胰岛素的使用及.ppt VIP
- 应知应会手册(医疗部分).pdf
- 益电通TD80变频器调试参数设置资料2.1.pdf
- 园艺植物种子生产教学课件.ppt VIP
- 认识情绪 管理情绪演示教学.ppt VIP
- 无忧传媒就业协议书.docx VIP
- 2025上海市六年级升七年级暑假数学衔接讲义 第04讲 整式的加减 单元综合检测(重点)(解析版).docx VIP
文档评论(0)