- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 文件操作和输入输出流 目标 IO框架结构 对目录和文件的创建、读、写和更新操作 File和Directory静态类的使用 FileInfo和DirectoryInfo的实例对象的应用 字节流和字符流的处理 目录管理 文件管理 体验 程序运行后,在c盘下生成一个text.txt文件。程序向该文件中输入10000行的记录。记录输入完成后,程序把文件的所有记录显示在控制台上。 文件和流 文件 文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。 在各种介质上(可移动磁盘、硬盘、CD 等)存储的集合数据。 通常情况下文件按照树状目录进行组织,每个文件都有文件名、文件所在路径、创建时间、访问权限等属性。 流 流提供了连续的字节流存储空间,虽然数据实际存储的位置可能不连续,甚至可以分布在多个磁盘上,但我们看到的是封装以后的数据结构,是连续的字节流抽象结构。 除了和磁盘文件直接相关的文件流以外,流有多种类型,流可以分布在网络中,内存中或者是磁带中。 IO 命名空间和它类 IO 命名空间包含便于在数据流和文件中读取和写入数据的类 IO 命名空间中用于文件目录操作类 流I/O操作类 其他I/O流类 目录管理 System.IO命名空间下提供了三种操作目录的类: Directory 静态类提供通过目录和子目录进行创建、移动和删除等静态方法。 DirectoryInfo 提供通过目录和子目录进行创建、移动和删除等实例方法。 Path 静态类的成员使您可以快速方便地对文件或目录路径信息的String实例,执行常见静态操作方法。例如:确定文件扩展名是否是路径的一部分,以及将两个字符串组合成一个路径名。 示例参见教材例10.1、10.2 Path示例参见教材例10.3 递归算法 如何获得某个盘符或者路径下的所有目录和子目录的信息呢? 递归示例 using System; using System.IO; public class Files { //将string 改变为DirectoryInfo public static void dispDirs(DirectoryInfo dir) { Console.WriteLine({0}, dir.FullName); //返回目录中的目录列表对象 DirectoryInfo[] directories = dir.GetDirectories(); foreach (DirectoryInfo dirX in directories) { dispDirs(dirX); } } 文件管理 File类通常和FileStream类协作来完成对文件的创建、删除、拷贝、移动、打开等操作。 File类提供的静态方法主要有Create、Copy、Move、Delete、GetLastAccessTime 等,利用它们可以完成一些基本的文件管理。 也可以通过FileInfo类来实现同样的操作。 示例参照教材例10.5、10.6 文本模式文件数据读写 StreamReader和StreamWriter类提供以一种特定的编码从字节流中读取字符。 注意字符编码问题 示例参见教材例10.7 文件流获得 通过File类中的Open、OpenRead、OpenWrite获得FileStream文件流。 通过AppendText可获得UTF-8编码格式的StreamReader类对象。 二进制模式文件数据读写 BinaryReader 和BinaryWriter 类,用于按二进制模式读写文件。 它们提供的一些读写方法是对称的,比如针对不同的数据结构,BinaryReader提供了ReadByte、ReadBoolean、ReadInt、ReadInt16、ReadDouble、ReadString等方法,而BinaryWriter 则提供了重载了17次的Write 方法。 BinaryReader读取数据所用方法必须和BinaryWriter写入数据所用方法对应。 示例参见教材例 10.8 总结 IO框架结构 对目录和文件的创建、读、写和更新操作 File和Directory静态类的使用 FileInfo和DirectoryInfo的实例对象的应用 字节流和字符流的处理 目录管理 文件管理 * * 提供压缩和解压缩流的方法和属性。默认情况下, 此类使用与DeflateStream 类相同的算法, 但可以扩展到使用其他压缩格式。 GZipStream 提供使用Deflate算法压缩和解压缩流的方法和属性。 DeflateStr
文档评论(0)