- 14
- 0
- 约4.13千字
- 约 23页
- 2019-08-27 发布于湖北
- 举报
6.2 文件的读写 根据数据的编码,文件可以分为文本文件和二进制文件。 根据不同类型的文件,访问数据的方式也不相同。Visual Basic.NET中传统VB访问文件的函数仍然可用。访问不同文件基本操作步骤是相同的,一般都须经过以下三步完成。 首先打开文件,如果文件不存在应先创建文件。 当文件打开后,就可以对文件进行读或写操作了。 当文件操作完毕,应该关闭文件。 6.2 文件的读写 从根本上讲文件都是由字节或标准字符存储的,为了以统一的方式处理文件,Visual Basic.NET中引入“流”的概念。流是字节序列的抽象概念。 对于文件的读写,最常用的类简单介绍如下: Stream类:流的基类,定义流的基本操作。 FileStream类:用于对文件执行读写操作,支持同步和异步读写。 MemoryStream类:无缓存的流,该流以内存作为数据流。 NetWorkStream类:以网络为数据源的流,可以通过此流发送或接收网络数据。 TextReader类:StreamReader对象的抽象基类,定义基本字符读取操作。 TextWriter类:StreamWriter对象的抽象基类,定义基本字符写入操作。 StreamWriter类:向流写入字符。 StreamReader类:实现从流读取字符操作。 6.2.1 FileStream类读写文件 FileStream类用来对文件系统上的文件进行读取、写入、打开和关闭等操作。由于FileStream类能够对输入输出进行缓冲,因而处理性能比较高。FileStream类的成员函数都是非静态的,需要通过FileStream类的实例对象对文件中的数据进行读写。 其中FileStream类的2个的构造函数使用如下所示: Dim fs1 As New FileStream(c:\temp\MyTest.txt, FileMode.Create) Dim fs2 As New FileStream(c:\temp\MyTest.txt , FileMode.Create, FileAccess.Write) 6.2.1 FileStream类读写文件 FileStream类中提供了许多可以进行文件读写的实例方法。 (2)ReadByte()方法 ReadByte()方法是读取数据的最简单的方式,它从流中读取一个字节,并把这个字节转换为一个0到255之间的整数。如果到达该流的末尾,就返回 –1 。 Dim nextByte As Byte = fs.ReadByte() fs为FileStream类的一个实例对象。 (3)Read ()方法 可以调用Read()方法一次读取多个字节,它可以把特定数量的字节读入到一个数组中。Read()方法返回实际读取的字节数。如果返回值是0,就表示已经到达了流的尾端。 一次读入100个字节 Dim n As Integer Dim nBytesRead(100) As Byte n = fs.Read(nBytesRead, 0, 100) Read()的第一个参数是一个byte类型的数组;第二个参数是一个偏移值,使用它可以要求Read读取的数据存放是从数组的某个元素开始,而不是从第一个元素开始;第三个参数是最多读取的字节数。 6.2.1 FileStream类读写文件 (4)WriteByte()和Write()方法 可以使用方法WriteByte()和Write()给文件写入数据。WriteByte()方法把一个字节数据写入流: Dim nextByte As Byte = 50 fs.WriteByte(nextByte) 写入一个字节数据 (5)Flush()方法 使用流完成所有写操作之后,应清除该流的所有缓冲区,并把缓冲区中的数据写入到文件中去,避免数据遗失。这个操作使用Flush()方法完成。 fs. Flush () (6)Close()方法 使用完一个流后,就应关闭它,关闭流使用Close()方法。 fs.Close() 6.2.1 FileStream类读写文件 【例6-7】用FileStream类编写一个保存和显示文件的程序,程序的设计界面如图 6.2.2 文本文件的读写 理论上,可以使用FilStream类读取和显示文本文件。但通常使用StreamReader和StreamWriter类来更方便地读取它们。这是因为这两个类工作的级别比较高,特别适合于读取文本。它们的成员函数StreamReader.ReadLine()和StreamWriter. WriteLine()可以一次读写一行文本。在读取文件时,流会自动确定下一个回车符的位置,并在该处停止读取,在写入文件时,流会自动把回车符和换行符添加到文本的
您可能关注的文档
- unit4makingthenews-阅读公开课课件.ppt
- Unit8Howdoyoumakeabananamilkshake教学课件第二部分.ppt
- unit10+数字的增长与下降表达法.ppt
- UnitEleven外贸英语函电.ppt
- VB2010入门教程2:创建迷宫.doc
- vb诗歌鉴赏之描写手法000.ppt
- VCM装置静置设备安装施工方案.doc
- vfp_数据的检索、统计与多工作区操作.ppt
- VFP第3章考点归纳.ppt
- VIA市场推广计划.ppt
- Gowin高云用户手册JESD204B IP用户手册.pdf
- Phytium用户手册feh用户手册.pdf
- Wayon Circuit Protection Photovoltaic Inverter Protection Solutions SI-V2.1,AC Output,DC Input,RS485,Control Line,Communication Line 用户手册说明书.pdf
- LH专业培训手册机电一体化技术专业人才培养方案2025版说明书用户手册.pdf
- NORCO用户手册EMB-3582 V1.2用户手册.pdf
- ASK Chemicals 冷芯盒粘结剂 ISOCURE PUCB ECOCURE HE, SL, RS PUCB 用户手册.pdf
- JF杭州杰峰科技有限公司网络智能监控系列产品用户手册.pdf
- 第二章 流体运动的分析基础.pdf
- Whirlpool微波炉用户手册JT469说明书用户手册.pdf
- CNware云宏超融合一体机WinHCI说明书用户手册.pdf
最近下载
- 雪地胎的选用与更换-2024年世界职业院校技能大赛一等奖展示PPT.pptx VIP
- 一种提高线性聚乙烯膜料耐候性及拉伸性能的复合助剂及其制备方法.pdf VIP
- 【新教材】人教版(2024)七年级下册英语教学计划.docx
- 2026年中国厨房剪市场调查研究报告.docx
- 第一单元第二课《山水合璧》教案 湘美版2025美术七年级下册.pdf
- 2026年月日历表 (每月一张 A4可打印).pdf VIP
- 智能体应用发展报告(2025).pdf VIP
- 企业微信使用管理规范及注意事项.docx VIP
- 基于ANSYS的感应加热数值模拟分析-机械制造及其自动化专业论文.docx VIP
- 2025年交通运输部所属事业单位招聘真题.docx VIP
原创力文档

文档评论(0)