第10讲 流IO.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 10 章 流I/O 目 标 了解C#中文件处理的原理和过程 掌握目录操作的基本方法 掌握文件读写的基本方法 C#中文件存储的主要形式 文件在计算机中的存储结构 文件在计算机存储结构 文件在计算机存储结构 System.IO 命名空间 对目录的操作需求 建立目录(一般由操作系统执行); 移动目录(一般由操作系统执行); 获取目录中的子目录名; 获取目录中的文件名; 获取本目录的父目录名; 获取目录所在磁盘的盘符; 获取目录的属性、创建时间等信息。 只有先解决目录的问题,才能解决文件的问题!! 对目录的操作 通过Directory和DirectoryInfo两个类对目录操作,其中,Directory类提供静态方法, DirectoryInfo类提供实例方法和属性满足目录操作的一般要求。 Directory类的主要静态方法 DirectoryInfo类的主要属性和方法 为什么同时具有两个目录操作的类呢? 继承过去成熟语言的习惯。 目录操作举例:example_directory1 (1)获取驱动器名,并将驱动器名存入数组: string[ ] strDrives=Environment.GetLogicalDrives(); (2)建立DirectoryInfo对象:(可以是任意级目录) DirectoryInfo dir = new DirectoryInfo(listBox1.Text); (3)获取当前DirectoryInfo对象指向目录的子目录: DirectoryInfo[ ] subdir = dir.GetDirectories(); 目录名为subdir数组元素的Name属性 (4) 获取当前DirectoryInfo对象指向目录中的文件: FileInfo[] files = dir.GetFiles(); 文件名为files数组元素的Name属性。 DirectoryInfo类关键属性 directory.Name:相对目录,用于显示 directory.FullName:绝对目录,用于对目录寻址 对文件的操作 通过File和FileInfo两个类实现对文件操作,其中,File类提供静态方法, FileInfo提供实例方法,满足对文件操作的一般要求。 File类的主要静态方法 FileInfo类的主要属性和方法 为什么同时具有两个文件操作的类呢? 对文件的操作种类需求 文件的建立和删除; 文件的拷贝; 文件的搬移; 文件的读写。 在实际程序中,最常用的文件的读写,文件读写的本质是磁盘文件与内存交换数据。 文件的种类 二进制文件:必须能够提前被程序或硬件处理器识别从而知道其存储形式的文件。 文本文件:以字符为最小信息单位构成的文件。 二进制文件和文本文件的区别 对文件读写操作的基本方法 对文件读写操作 读写文本文件 3-1 读写文本文件 3-2 FileStream 构造函数 FileMode 和FileShare FileMode Append Create CreateNew Open OpenOrCreate Truncate 文件读写例子 4-1 文件读写例子 文件读写例子 4-3 文件读写例子 4-4 读写二进制文件 要使用 BinaryReader 和 BinaryWriter 类 这两个对象都需要在FileStream上创建 二进制文件读写对象 写二进制文件 读二进制文件 读写内存流 BufferedStream 构造函数 通过缓冲区交换数据 2-1 通过缓冲区交换数据 2-2 示例应用程序 3-1 示例应用程序 3-2 示例应用程序 3-3 总结 File是静态对象,提供对文件的创建、拷贝、移动和删除等一系列操作 File.Create(文件名)可以创建新的文件,并结合FileStream对象来进行读写操作 FileStream 和BinaryReader、BinaryWriter对象结合起来可对二进制数据进行操作 在C#中指明文件名的时候,要使用转义字符“\\” 内存流提供无法调整大小的数据流视图,而且只能向其写入 BufferedStream对象对缓冲区进行读写 byte[] buffer = new Byte[sizeBuff]; int bytesRead; while ((bytesRead = bufferedInput.Read(buffer,0,sizeBuff)) 0 ) { bufferedOutput.Write(buffer,0,bytesRead); } Console.WriteLine(); Console.WriteLine(给定备份的文件已创建); bufferedOutput.Flush( ); bufferedIn

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档