




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖肉牛项目可行性报告
- 互联网立项报告
- 母婴护理中级复习试题含答案
- 护理-妇产科护理学练习卷含答案
- 医疗机构信息管理系统应急预案
- 建筑结构稳定性分析报告书
- 主管护师内科护理复习试题及答案
- 乡村卫生保健推广方案
- 针对网络安全问题的解决方案与实施计划
- 用户体验优化针对不同地区
- 产时会阴消毒课件
- 第一单元 我们的守护者 (同步练习)部编版道德与法治六年级上册
- 河南省商丘市部分校2024~2025学年度高二上学期期末联考语文试题含答案
- 2025年高考时事政治考点总结
- 2025年山西省运城市平陆县部分学校中考一模道德与法治试题(原卷版+解析版)
- 第十单元课题2 常见的酸和碱第1课时-2024-2025学年九年级化学人教版下册
- 小学生数据分析课件
- 2025年皖北卫生职业学院单招职业适应性测试题库附答案
- 2025年山东国电投莱阳核能有限公司校园招聘笔试参考题库附带答案详解
- 中小学生开学第一课主题班会-以哪吒之魔童降世为榜样
- 2024年中国疾控中心信息中心招聘考试真题
评论
0/150
提交评论