- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章:文件读写 伍 星 wuxing@ 重庆大学计算机学院 提纲 流文件简介 1 文件操作 2 文件管理 3 目录管理 4 7.1流文件简介 .Net Framework中进行的所有输入和输出工作都要用到流 流是串行化设备的抽象表示 串行化设备可以以一次访问一个字节存储数据 设备可以是磁盘文件、网络通道、内存位置或其他支持以线性方式读写的对象。当应用程序从文件输入流、网络输入流或其他流中读取数据时,可以转换并重用类似的代码,使用流还可以忽略每一种设备的物理机制,无需担心硬盘或内存分配问题。 C#中按照数据流动的方向,可以将流分为两种类型:输入流和输出流。 7.2.1 字节流的读写 FileStream类是提供了在文件中读写字节的方法。 FileStream对象在磁盘或网络路径上指向文件的流,通过其可以指向的文件进行读写操作; FileStream操作文件必须先创建一个FileStream类的实例 public FileStream (string path, FileMode mode, FileAccess access) 1)path: 被操作文件的名称,包含完整的路径说明; 2)mode: 被操作文件的模式,包括Append、Create、 CreateNew、Open、OpenOrCreate、Truncate; 3)access: 文件的访问方式:Read、Write、ReadWrite; 7.2.1 字节流的读写 FileStream类用于字节读写操作的方法: 方法 说明 返回值类型 Read() 从流中读取字节块,并将该数据写入给定缓冲区中 int ReadByte() 从文件中读取一个字节,并将读取位置提升一个字节 byte Write() 使用从缓冲区读取的数据将字节块写入该流 WriteByte() 将一个字节写入流的当前位置 7.2.1 字节流的读写 例7-1 创建如图7.1 所示Windows窗体程序,利用FileStream对象的ReadByte()方法字节读取指定文件,并将读出的内容在文本框中显示。 图7.1 字节流方式读文件 7.2.1 字节流的读写 private void button2_Click(object sender, EventArgs e) { DialogResult dialogResult = openFileDialog1.ShowDialog(); if (dialogResult ==DialogResult.OK) { textBox1.Text = openFileDialog1.FileName; } } FileStream fileStream = new FileStream(textBox1.Text, FileMode.Open,FileAccess.Read); richTextBox1.Clear(); for (int i = 0; i fileStream.Length; i++ ) { richTextBox1.Text += (char)fileStream.ReadByte(); } fileStream.Close(); 7.2.1 字节流的读写 int Read(byte[] array, int offset, int count) (1)array: 从文件中读出数据的存放空间; (2)offset: 读入数据在array 中存放的起始位置; (3)count: 最多读取的字节数; (4)返回值:读入缓冲区中的总字节数。如果当前的字节数没有所请求那么多,则总字节数可能小于所请求的字节数;或者如果已到达流的末尾,则为零。 例7-2创建如果7.2所示的Windows窗体程序,程序运行时将指定文件的内容读出并在富文本框中显示读出的文件内容。要求程序中使用FileStream对象的Read方法读取文件数据。 7.2.1 字节流的读写 FileStream fileStream = new FileStream(textBox1.Text, FileMode.Open); richTextBox1.Clear(); int length = (int)fileStream.Length; Byte[] readByte = new Byte[length];
您可能关注的文档
- C#程序设计电子教案杨克玉 第1章 认识Visual C#.ppt
- C#程序设计电子教案杨克玉 第2章 C#编程基础.ppt
- C#程序设计电子教案杨克玉 第4章 数组.ppt
- C#程序设计电子教案杨克玉 第5章 面向对象程序设计.ppt
- C#程序设计电子教案杨克玉 第6章 WinForm应用程序设计.ppt
- C#程序设计电子教案杨克玉 第7章 ADO.NET数据库访问技术.ppt
- C#程序设计电子教案杨克玉 第8章 三层架构的ADO.NET数据库编程.ppt
- C#程序设计电子教案杨克玉 第9章 水晶报表及产品发布.ppt
- C#程序设计基础 教学课件 作者 熊壮 第0章:C#程序设计课程简介.ppt
- C#程序设计基础 教学课件 作者 熊壮 第1章:C#及Visual Studio 2010开发环境介绍.ppt
- PDM软件:Siemens Teamcenter二次开发_(17).Teamcenter最佳实践与案例分析.docx
- SCADA软件:GE Proficy二次开发_(4).Proficy开发环境搭建.docx
- 智能电表软件:Landis+Gyr智能电表二次开发_(13).系统集成与测试.docx
- 智能电表软件:Elster智能电表二次开发_(8).Elster智能电表二次开发环境搭建.docx
- PDM软件:Siemens Teamcenter二次开发_(11).TeamcenterAPI与编程基础.docx
- SCADA软件:GE Proficy二次开发_(7).报警与事件管理.docx
- 智能电表软件:Echelon智能电表二次开发_(11).智能电表行业标准与法规.docx
- 智能电表软件:Itron智能电表二次开发_(6).用户界面定制与开发.docx
- 智能电表软件:Elster智能电表二次开发_(9).Elster智能电表二次开发工具使用.docx
- PDM软件:PTC Windchill二次开发_(21).Windchill最佳实践案例分析.docx
文档评论(0)