11.用流进行文件输入和输出1.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.用流进行文件输入和输出1要点

第11课 用流进行文件输入和输出 使用不同的文件流向文件写数据和从文件读数据。 本课主要讲述: 文件与流的概念 使用FileStream 使用StreamReader和StreamWriter 11.1 文件与流 什么是文件?? 文件是永久存储的由一些特定顺序的字节组成的一个有序的、具有名称的数据集合。 什么流?? 提供一种向后备存储器写入字节和从后备存储器中读取字节的方式。可以理解为流是建立在文件和应用程序之间的数据管道。 Stream类是所有流的基类,并且Stream类是一个抽象的类,也就是说不能创建Stream类的对象,必须通过Stream类派生出子类,由子类创建对象。 流所具有的功能: 读:将数据从一个流传输到一个数据结构(如数组)中。 写:将数据从一个数据结构写到一个流中。 定位:查询和修改流中的当前位置。 Stream类所在的命令空间 所有stream类以及stream类的派生类,都需要导入System.IO空间。 11.1.1 FileStream类 FileStream类继承于Stream类,主要用于文件的输入和输出,适合于读取原始字节(二进制)数据。 创建FileStream类的对象 要使用FileStream类必须为其创建对象,可以使用FileStream类的构造函数来创建,语法格式: FileStream(string path,FileMode mode,FileAccess access) 其中: path:指定当前FileStream对象所指向的文件的路径包含文件的名称,即指定从哪个文件中读或写数据。 mode:确定如何打开或创建文件。是一个枚举类型,具有以下值: FileMode.Create:指定创建一个新文件,如果指定的文件存在,则覆盖已存在的文件。 OpenOrCreate:指定如果文件存在则打开文件,如果不存在则创建该文件。 FileMode.Open:指定打开需要的文件。 FileMode.Append:打开现有文件并查找文件尾,如果文件不存在,则创建新文件。FileMode.Append只能同FileAccess.Write一起使用,写入的新数据将添加于原文件的后面。 access:确定FileStream对象可以如何访问文件。是一个枚举类型,具有以下的值: FileAccess.Read:只能从文件中读取数据。 FileAccess.ReadWrite:可从文件读取数据和将数据写入文件。 FileAccess.Write:只能将数据写入文件。 FileStream类中常用的方法 Write:将字节数组中的数据写入到流中,即写入到文件中。 ReadByte:从流中读取一个字节,并将流内的位置向前推进一个字节,如果已到达流的末尾,则返回-1。 Close:将流关闭。当应用程序不再使用某个流时,应该将其关闭。 任务11.1 使用FileStream 问题描述 创建一个应用程序,创建一个文件,将字节数组中的数据写入此文件,然后关闭文件。接着,应用程序再次打开文件,测试流是否支持读操作,从文件中读出每一个字节,并将一个字节的转换为响应的字符,且连接乘字符串。 程序代码 public static void Main() { byte[] buf1 = new byte[] {65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82 }; FileStream s = new FileStream(foot.dat,FileMode.Create); s.Write(buf1,0,buf1.Length); s.Close(); s = new FileStream(foot.dat,FileMode.Open); int i; string str = ; if (s.CanRead) { while ((i = s.ReadByte()) != -1) { str += (char)i; } } s.Close(); MessageBox.Show(str,输出结果); } 11.1.2 随机访问文件 当打开一个流时,流指针一般位于流的第一个字节上。从第一个字节的数据开始读到最后一个字节的数据。那么能不能改动流指针,使得可以从流的任何位子读取数据呢??? 流指针的定位(Seek方法) FileStrea

文档评论(0)

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

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

1亿VIP精品文档

相关文档