- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 文件作
13.3 文件的操作 13.3.3 StreamReader和StreamWriter类 2. 使用StreamWriter写文本文件 (2)StreamWriter的常用方法。 ③ 可以一次写入一个字符数组。例如: char[ ] CharArray = new char[10]; for ( int i = 0; i 10; i++) CharArray[i] = char.Parse(i.ToString()); sw.Write(CharArray); 13.3 文件的操作 13.3.3 StreamReader和StreamWriter类 2. 使用StreamWriter写文本文件 (2)StreamWriter的常用方法。 ④ 可以一次仅写入字符数组中的一部分。例如,将上例中的最后一段代码改为: sw.Write(CharArray,4,5); 其中,第二个参数4为要写入字符数组的起始位置,第三个参数5为要写入的字符个数。 ⑤ 在用完StreamWriter之后应该及时将其关闭。例如: sw.Close(); 【例13-3】 文本的读写示例。 13.3 文件的操作 13.3.4 BinaryReader和BinaryWriter类 FileStream类主要用于二进制文件的读写,此外.NET框架还提供了BinaryReader和BinaryWriter类,实现以二进制方式对文件进行I/O操作。 与其他类不同的是,创建BinaryReader和BinaryWriter对象时,不能直接使用文件名,而应使用文件流。例如: FileStream fs = new FileStream(“Myfile.dat” , FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); 【例13-4】 二进制文件读写示例。 13.4 本章小结 本章主要介绍了.NET类库中定义的一系列用于文件存储管理和读写操作的类。其中文件流是对物理文件的封装,而使用读写器可以方便地对文件流进行读写,读写的方式主要包括二进制方式和文本方式。 本章重点内容如下: 文件和流的概念。 File和FileInfo类。 Stream类和FileStream类及二进制字节文件的读写。 StreamReader和StreamWriter类及文本文件的读写。 BinaryReader和BinaryWriter类及二进制文件的I/O操作。 13.3 文件的操作 图13.1 与文件I/O和流相关的类 13.3 文件的操作 13.3.1 Stream类 Stream类是流的抽象基类,定义了流的基本功能,该类定义了一些处理原始字节流的范型成员,其作用是将数据抽象为独立于底层数据设备的字节流。 1. Stream类的常用属性 根据I/O设备的不同,不同的流可能只支持Stream类中定义的功能中的一部分。例如,NetworkStream(网络流)不支持定位。 通过使用Stream类及其派生类的CanRead、CanWrite、CanSeek等属性,可以查询当前流所支持的操作。Stream类的常用属性如表13-4所示。 13.3 文件的操作 13.3.1 Stream类 2. Stream类的常用方法 Stream类提供了Read、Write、Seek等方法来支持流的基本操作,具体如下: (1)public virtual void Close() 【功能】关闭当前流,并释放与之关联的所有资源。 (2)public abstract void Flush() 【功能】清除当前流的所有缓冲区,并将所有缓冲数据写入到基础设备。 13.3 文件的操作 13.3.1 Stream类 2. Stream类的常用方法 (3)public abstract int Read (byte[ ] buffer,int offset,int count) 【功能】从当前流中读取最多count个字节,用它们顺序替换字节数组buffer的offset到(offset + count - 1 ) 之间的元素值,并将此流中的位置提升读取的字节数,最后返回读取的总字节数。如果当前可用的字节数没有请求的字节数那么多,则总字节数可能小于请求的字节数;如果当前已到达流的末尾,则为0。 (4)public virtual int ReadByte() 【功能】从当前流中读取一个字节,并将流内的位置向前推进一个字节,如果已到达流的末尾,则返回-1 。 13.3 文件的操作 13.3.1 Stream类
原创力文档


文档评论(0)