- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 文件和流 编程语言在读写磁盘文件的方法上进行了很多的变革。在C语言中,是使用标准的I/O库(stdio.h),而在C++,引入了新的概念-流。 流的概念较多地用于网络。在C++中流的概念比较复杂。C#语言也采用了流的概念,但是使用起来要简单得多。本章简单地介绍一下,在C#语言中,如何处理目录,如何处理文件,如何使用流的概念读写文件。 5.1 用流读写文件 C#语言把所有文件都看成是顺序字节流,流是用Stream类来处理的。使用Stream类来处理流,必须引入命名空间System.IO。 Stream属于抽象类,本身没有对象实例,只是封装了一些公共的方法,由它的派生类继承。 Stream有许多派生类,如FileStream类、BinaryRead类和BinaryWrite类。 5.1.1 FileStream类 FileStream类可以建立文件流对象,用来打开和关闭文件, 以字节为单位读写文件。该类常用属性、方法如下。 属性CanRead、CanSeek、CanWrite:检查流对象是否可以读、定位、写。只读属性。 属性Length:以字节为单位表示流对象长度,即文件的长度。只读属性。 属性Position:获取或设置流对象当前读写位置。 构造函数FileStream:有很多原型,下面介绍一种最常用的原型: public FileStream( string path, FileMode mode, FileAccess access); 参数path:FileStream类对象的相对路径或绝对路径。 参数mode:是枚举型FileMode类型,其取值有: ①Append:打开文件并将读写位置移到文件尾,文件不存在则创建新文件,只能同FileAccess.Write一起使用; ②Create:创建新文件,如果文件已存在,文件内容将被删除; ③CreateNew: 创建新文件,如果文件已存在,则引发异常; ④Open: 打开现有文件,如果文件不存在,则引发异常; ⑤OpenOrCreate: 如果文件存在,打开文件,否则,创建新文件; ⑥Truncate: 打开现有文件,并将文件内容删除。 参数access:是枚举型FileAccess ,其取值有: ①Read: 只读方式打开文件; ②Write: 写方式打开文件; ③ReadWrite: 读写方式打开文件。 默认值为 ReadWrite。 方法Write: 将数组中字节写入流对象,原型如下: void Write( byte[ ]array,int offset,int count); 参数array: 要写入流的数组, 参数offset: 写入流的第1个字节是array[offset]; 参数count: 要写入流的字节数。 写字节数组数据到文件的程序如下,该程序将建立文件d:\g1.bin。 using System; using System.IO; //必须引入IO命名空间 class WriteFile { static void Main() { byte[] data = new byte[10]; //建立数组 for (int i=0; i10; i++) data[i]=(byte)i; //赋值 FileStream fs = new FileStream(d:\\gl.bin, FileMode.Create); //建立流对象 fs.Write(data, 0, 10); //写data数组到文件 fs.Close(); //关闭流对象 } } 方法Read: 从流中读数据写入字节数组array,其原型如下: int Read(byte[ ]array, int offset, int count); 读入的第一个字节写入array[ offset ],第三个参数表示要读入的字节数。返回值为所读字节数,由于可能己读到文件尾部,其值可能小于count,甚至为0。 【例】读出上例文件所有字节到数组并在屏幕显示的程序如下。 using System; using System.IO; //必须引入IO命名空间 class ReadFile { static void Main( ) { FileStream
您可能关注的文档
最近下载
- 一种检测磷酸铁锂粉末中磁性金属异物及磷化铁含量的方法.pdf VIP
- 2023年华为公司招聘职位要求.pdf
- 三年级心理健康第1-16课全册教案.pdf
- 2021面瘫的针灸治疗测试题【附答案】.doc
- IATF16949第五版DFMEA管理程序+潜在失效模式及后果分析程序.doc
- 智慧城市大数据平台设计方案.pdf VIP
- 匹兹堡睡眠质量指数(PSQI)表格版-打印保健养生.docx
- 林木林地权属争议处理申请书(样本).pptx
- 手机销售网站的设计与实现.doc VIP
- 河南省图集 12YN6、12YN7、12YN9 热力工程、民用建筑空调与供暖冷热计量设计与安装 DBJT19-07-2012.docx
文档评论(0)