- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工程科技]文件读写
一 流的概念在.NET中Stream 是所有流的抽象基类。流是字节序列的抽象概念,或者说是计算机在处理文件或数据时产生的二进制序列。例如文件、输入/输出设备、内部进程通信管道或者 TCP/IP 套接字。Stream 类及其派生类提供这些不同类型的输入和输出的一般视图,使程序员不必了解操作系统和基础设备的具体细节。简单的说流提供了不同介质之间的数据交互功能。
在.NET中常用的流有BufferedStream 、FileStream、MemoryStream
?
和NetworkStream,他们都是位于System.IO和System.Net命名空间下。流涉及三个基本操作: 读取,写入和查找。根据基础数据源或储存库,流可能只支持这些功能中的一部分。有些流实现执行基础数据的本地缓冲以提高性能。对于这样的流,Flush 方法可用于清除所有内部缓冲区并确保将所有数据写入基础数据源或储存库。
?
二 文件读写对于文件的读写,实际是把硬盘中的数据读入内存和把内存的数据写入硬盘,他们数据之间的交换就是通过流来完成的。在.NET中这个功能是由FileStream类完成的。他提供的Write和Read方法可以对文件进行读写操作。
1:FileStream读写文件使用 FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream 对输入输出进行缓冲,从而提高性能。
view plaincopy to clipboardprint?static void Main(string[] args)?? {?? ??? try? ??? {?? ??????? FileStream fs = new FileStream(@c:\text.txt, FileMode.Create);?? ??????? string message = This is example for filestream;?? ??????? byte[] writeMesaage = Encoding.UTF8.GetBytes(message);?? ??????? fs.Write(writeMesaage, 0, writeMesaage.Length);?? ??? }?? ??? catch (Exception ex)?? ??? {?? ??????? Console.WriteLine(ex.Message);?? ??? }?? ??? finally? ??? {?? ??????? Console.ReadKey();?? ??? }?? }? static void Main(string[] args){??? try??? {??????? FileStream fs = new FileStream(@c:\text.txt, FileMode.Create);??????? string message = This is example for filestream;??????? byte[] writeMesaage = Encoding.UTF8.GetBytes(message);??????? fs.Write(writeMesaage, 0, writeMesaage.Length);??? }??? catch (Exception ex)??? {??????? Console.WriteLine(ex.Message);??? }??? finally??? {??????? Console.ReadKey();??? }}
上面是一个简单的例子,把一条字符串写入到文件中。首先建立一个FileStream对象,指定文件和读写方式(具体读写方式和权限可以参加MSDN)。接下来把要写入的字符串以一定的编码格式存入一个字节数组中,然后调用Writer方法写入文件。运行程序,当程序执行到Console.ReadKey方法时去查看文件发现文件中内容是空的。也就是说调用Writer方法后内容并没有被写入到文件中。
这里就要谈到流中的缓冲区的问题了。缓冲区是为了提高I/O效率而设置的,我们知道读写的I/O操作是很费时的,如果每一个字节都马上写入到文件中整个过程就会很慢,所以设置缓冲区,写把要写入的内容写入到缓冲区中,然后在一次性写入到文件中,来提高写入的效率和速度。而Write方法实际上只是把数据写入到流的缓冲区中,而不是真正的写入到文件中。所以调用Writer方法并不能完成文件的写入。于是FileStream对象提供了一
您可能关注的文档
最近下载
- T∕CACM 1021.135-2018 中药材商品规格等级 桑椹.docx VIP
- 合肥南站枢纽方案.pdf
- 内蒙古自治区包头市昆都仑区2023-2024学年七年级下学期期中语文试题【含答案解析】.docx VIP
- 公司年度颁奖晚会主持词与公司年终工作总结2合集.doc VIP
- GB/T 27726-2011_热塑性塑料阀门压力试验方法及要求.pdf
- 医学生全国水平测试题库.pdf
- 2025年东莞实业投资控股集团有限公司招聘笔试模拟试题及答案解析.docx
- 《第十章-中国文化的基本精神》-课件.ppt VIP
- 基于模糊控制的智能浇灌系统设计.pptx VIP
- 乳腺癌诊治指南与规范(2025年版精要本).PDF VIP
文档评论(0)