




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第5章文件存取程序设计,.,2,概述,命名空间:System.IO类字节流:Stream、BufferedStream、MemoryStream、UnmanagedMemoryStream、FileStream二进制IO流:BinaryReader、BinaryWriter字符IO流:TextReader、TextWriter、StreamReader、StreamWriter、StringReader、StringWriter文件系统操作:File、Path、Directory、FileSystemInfo、FileInfo、DirectoryInfo、DriveInfoIO枚举:FileAccess、FileAttributes、FilenameOptions、FileShare、FileMode、SearchOption、SeekOrigin、DirveTypeIO异常:IOException、FileLoadException、DriveNotFoundException、FileNotFoundException、DirectoryNotFoundException、PathTooLongException、EndOfStreamException,.,3,5.1路径类与目录类,1.Directory类Directory类可用于目录管理,通过它可以实现对目录及其子目录的创建、移动以及浏览等操作,甚至可以定义隐藏目录或只读目录。这个类的所有方法都是静态的,因此无需创建对象即可调用。下表列出了Directory类的部分常用方法。,.,4,5.1路径类与目录类,2.File类File类可以实现应用程序与文本文件的交互,其操作方式类似于Directory类,具有创建、删除、移动和打开文件的静态方法。下表列出了File类的部分常用方法。,.,5,5.1路径类与目录类,3.Path类Path类对包含文件或目录路径信息的String实例执行操作。Path类的成员使我们可以快速方便地执行常见操作,例如确定文件的扩展名是否是路径的一部分,以及将两个字符串组合成一个路径名等。Path类的所有成员都是静态的。Path类的常用方法。,.,6,5.1路径类与目录类,4.DirectoryInfo类DirectoryInfo类的作用类似于Directory类,可实现对目录及其子目录的创建、移动以及浏览等操作。如果只执行一个操作,Directory静态方法的效率要比DirectoryInfo实例方法可能更高,如果要多次重用每个对象,可以考虑使用DirectoryInfo实例方法。常用方法:常见属性:,.,7,5.1路径类与目录类,5.FileInfo类FileInfo类的作用类似于File类。如果只执行一个操作,File静态方法的效率要比FileInfo实例方法可能更高,如果要多次重用每个对象,可以考虑使用FileInfo实例方法。常用方法:常用属性:,.,8,5.2文件读写与流操作,文件与流的概念文件:是指以一个具体的名称在各种存储介质上永久保存的数据的有序集合。流:是字节序列的抽象概念,提供一种向存储器写入字节或从存储器读取字节的方式。除了与磁盘文件直接相关的文件流以外,还有网络流、内存流等。.NETFramework提供了一组用于在各种类型的流上执行操作的类,Stream是其中的主类,所有其他与流相关的类都由这个抽象类派生而来。流的最常用操作分别是读取和写入:利用FileStream类、BinaryReader/BinaryWriter类以及StreamReader/StreamWriter类能够以不同的数据格式,实现对文件流的读写。而利用System.Net.Sockets.NetworkStream,则可以实现对网络基础数据流的相应操作。,.,9,5.2.1文件流操作,1.利用FileStream类以字节格式读写文件主要功能:使用FileStream类可以建立文件流对象,通过该对象可以打开或关闭文件,并以字节为单位读写文件。常用属性:CanRead、CanSeek、CanWrite:只读属性,检查流对象是否可以读、定位或写入。属性Length:只读属性,以字节为单位表示流对象的长度,即文件的长度。属性Position:获取或设置流对象当前的读写位置。构造函数:PublicFileStream(stringpath,FileModemode,FileAccessaccess),.,10,5.2.1文件流操作,【示例代码:Demo7-2FileStreamRW】button1(写入文件)的鼠标单击事件的相应代码:privatevoidbutton1_Click(objectsender,EventArgse)SaveFileDialogsf=newSaveFileDialog();/实例化一个保存文件对话框sf.Filter=“txt文件|*.txt|所有文件|*.*”;/设置文件保存类型sf.AddExtension=true;/如果用户没有输入扩展名,自动追加后缀sf.Title=“写文件”;/设置标题if(radioButton1.Checked)/如果选择了使用FileStream类写入if(sf.ShowDialog()=DialogResult.OK)/如果单击了保存按钮FileStreamfs=newFileStream(sf.FileName,FileMode.Create);/实例化一个文件流,与写入文件相关联bytedata=newUTF8Encoding().GetBytes(this.textBox1.Text);/获得字节数组fs.Write(data,0,data.Length);/开始写入fs.Flush();/清空缓冲区fs.Close();/关闭流,.,11,5.2.1文件流操作,2.利用StreamReader类和StreamWriter类以字符串格式读写文件StreamReader和StreamWriter类提供了以字符串格式进行文件读写的方法。StreamReader类构造函数:StreamReader(stringpath)参数path是要读文件的路径。常用方法:intRead()从流中读取一个字符,并使读字符位置移动到下一个字符。返回代表读取字符ASC字符值的int类型整数,-1表示没有字符可以读取。stringReadLine()从流中读取一行字符并将数据作为字符串返回。行是两个换行符(n或rn)之间的字符序列。返回的字符串不包含回车或换行符。,.,12,5.2.1文件流操作,StreamWriter类构造函数:StreamWriter(stringpath,boolappend)常用方法:voidWriter(stringvalue)将字符串写入流。voidWriter(charvalue)将字符写入流。,/利用StreamWriter类写入文件if(radioButton2.Checked)/写入文件if(sf.ShowDialog()=DialogResult.OK)FileStreamfs=newFileStream(sf.FileName,FileMode.Create);/关联写入文件实例化一个文件流StreamWritersw=newStreamWriter(fs);/与fs相关联实例化一个StreamWritersw.Write(this.textBox1.Text);/开始写入sw.Flush();sw.Close();fs.Close();,.,13,5.2.1文件流操作,3.利用BinaryReader类和BinaryWriter类以二进制格式读写文件BinaryReader类和BinaryWriter类提供了以二进制格式进行文件读写的方法。BinaryReader类构造函数:BinaryReader(Streaminput)参数为StreamFile类对象。常用方法:BinaryBoolean、BinaryBytes、BinaryChar返回一个指定类型数据,没有参数。ByteBinaryBytes(intcount)返回字节数组中按参数指定数量读取的字节数。BinaryWriter类构造函数:BinaryWriter(Streaminput)参数为StreamFile类对象。常用方法:voidWrite(数据类型Value),.,14,5.2.1文件流操作,【示例代码:Demo7-2FileStreamRW】(1)在原示例程序基础上,编写button1_Click事件的相应代码:/利用BinaryWriter类写入else/写入文件if(sf.ShowDialog()=DialogResu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准个人消费电子产品抵押借款合同
- 汝州职业技术学院《电视包装设计》2023-2024学年第二学期期末试卷
- 鳄鱼怕怕牙医怕怕课件
- 新建水沟盖板施工方案
- 2025电子产品销售合同简易版模板
- 2025至2030年中国香酥肉排数据监测研究报告
- 2025员工劳动合同模板
- 森林消防知识宣讲
- 室外景观开挖施工方案
- 2025至2030年中国灌封胶粘剂数据监测研究报告
- 燃煤发电厂液氨罐区安全管理规定
- 苏教版六年级下册数学期末测试卷【完整版】
- 办公耗材采购服务方案(技术方案)
- DZ∕T 0153-2014 物化探工程测量规范(正式版)
- 【课件】家校共育、见证成长+课件+2023-2024学年高二下学期期中考试家长会
- ISO TR 15608-2017-中英文版完整
- 个人医保代办委托书
- 海南天之虹生物科技有限公司 年产36万吨饲料厂加工项目 环评报告
- 对电梯维保工作总结
- 人教版美术六年级下册全册教学设计教案表格式
- 北师大版三年级下册6-2《分一分(二)》分层作业
评论
0/150
提交评论