Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章

上传人:E**** 文档编号:89400907 上传时间:2019-05-24 格式:PPT 页数:55 大小:659KB
返回 下载 相关 举报
Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章_第1页
第1页 / 共55页
Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章_第2页
第2页 / 共55页
Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章_第3页
第3页 / 共55页
Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章_第4页
第4页 / 共55页
Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计-夏敏捷-电子教案及源代码 第11章(55页珍藏版)》请在金锄头文库上搜索。

1、第11章 数据文件,主编:夏敏捷 制作:张慎武,本章重点,System.IO命名空间的成员 使用Directory、File、Path类操作文件及目录 使用FileStream类读写文件 使用StreamReader、StreamWriter类读写文本文件 使用BinaryReader、BinaryWriter类读写二进制文件,目录,11.1 文件概述 11.2 文件的访问 11.3 使用System.IO命名空间中的类访问文件 实验十一 文件处理,11.1 文件概述,11.1.1 文件 11.1.2 文件的结构 11.1.3 文件的分类,11.1.1 文件,文件是在逻辑上具有完整意义的信息(

2、程序和数据)集合。例如我们平时用Word或Excel编辑制作的文档或表格就是一个文件,把它存放到磁盘上就是一个磁盘文件,输出到打印机上就是一个打印机文件。广义地说,计算机系统中的任何输入输出设备都被当做文件进行处理。这样,计算机便可以以统一的方式处理所有的输入输出操作。,11.1.2 文件的结构,文件结构 字符(Character):构成文件的最基本单位。 字段(Field):也称为域。它由若干个字符组成,用来表示一项数据。 记录(Record):由一组逻辑上相关的字段数据组合而成。 文件(File):文件由若干条记录构成。 构成文件的层次结构关系:字符字段记录文件,11.1.3 文件的分类(

3、1/3),根据文件的性质 程序文件 可供计算机运行的命令文件或可执行文件,例 如扩展名为.com或.exe的文件。还包括各种源程序文件,例如Visual Basic.Net 中的.vb文件等。 数据文件 用来存储程序文件运行时需要的数据,或用 来存储程序运行的结果。例如,学生成绩、职工工资、人事档案和各种财务数据等。,11.1.3 文件的分类(2/3),根据文件中数据存取方式 顺序文件 由一系列ASCII码字符格式的文本行组成的文件,每行的长度可以不同,文件中的每个字符都表示一个文本字符或本本格式设置序列(如换行符等)。文件里面的数据存取方式为顺序存取。 随机文件 以随机方式存取的文件,有一组

4、长度相等的记录组成。在随机文件中,字段类型可以不同,每个记录的长度是固定的,记录中的每个字段的长度也是固定的。此外,随机文件的每个记录都有一个隐含的记录号。,11.1.3 文件的分类(3/3),根据文件中存储信息所使用的编码方式 文本文件 又称ASCII文件,是以字符方式编码和保存数据的文件。这类文件可以用字处理软件来建立和修改,保存时按纯文本方式保存。 二进制文件 是以二进制方式编码和保存数据的文件。二进制文件可以存储任意类型的数据,除了不限定数据类型和记录长度外,对二进制文件的访问类似于对随机文件的访问,但是必须准确地知道数据是如何写入文件的,才能正确地读取数据。,11.2 文件的访问,1

5、1.2.1 文件的访问步骤 11.2.2 文件的访问方法,源程序,11.2.1 文件的访问步骤,访问数据文件的步骤: 1打开(或建立)文件。任何类型的文件必须打开(或建立)之后才能使用。若要操作的文件已经存在,则打开该文件;若要操作的文件不存在,则建立一个新文件。 2对文件进行读/写操作。文件被打开(或建立)之后,就可以对文件进行所需的操作,例如,读出、写入、修改文件数据等操作。其中,将数据从计算机的内存传输到外存的过程称为写操作,而从外存传输到内存的过程称为读操作。 3关闭文件。当对文件操作好之后,就应该将文件关闭。,11.2.2 文件的访问方法,使用 Visual Basic 运行时函数进

6、行文件访问 (VB传统方式直接文件访问) 通过文件系统对象模型FSO访问 通过.NET中的System.IO模型访问。,VB.NET运行时文件I/O,包含于Microsoft.VisualBasic命名空间。 在性能上可能没有直接用system.IO类高。 优点 为开发人员所熟悉并且易于使用。 缺点 仅支持String、Date、Integer、Long、Single、Double和Decimal写入类型以及这些类型的结构和数组。 不能将类序列化。,Visual Basic.NET中用于文件和目录操作的函数,FileSystemObject(FSO)文件I/O,FileSystemObject

7、模型将文件、目录和驱动器表示为COM对象,每个对象都有自己的属性和方法。 FSO对象模型位于Microsoft脚本运行时类型库中,支持通过TextStream对象创建和操纵文本文件。 优点 可以将许多文件I/O函数集合到单个对象中。 FSO对象模型也适用于线程。 缺点 只能对文本文件进行操作 读写大量内容时,存储在缓冲区中可能产生很高的内存命中率。 不能管理许可权限或文件和文件夹属性。,FSO对象模型的基本组件,FSO文件I/O实现方法(1/2),可以使用ObjectBrowser(对象浏览器)来查看FSO模型的对象、集合、属性、方法、事件和常数。 要在ObjectBrowser(对象浏览器)

8、中查看FSO,必须首先向Microsoft脚本运行时类型库添加一个引用。步骤如下: (1)在Project(项目)菜单上,单击Add Reference(添加引用)。 (2)在COM选项卡上,选择Microsoft Scripting Runtime(Microsoft脚本运行时),单击Select(选择),然后单击OK(确定)。FSO将显示在ObjectBrowser(对象浏览器)中的Interop.Scripting节点内。,FSO文件I/O实现方法(2/2),使用FileSystemObject进行编程: (1)使用CreateObject方法创建一个FileSystemObject对象

9、。 (2)将一个变量定义为FileSystemObject对象。例如: Dim MyFileStream as New Scripting.FileSystemObject() (3)对新创建的对象使用相应的方法。 (4)访问对象的属性。,示例:使用FileSystemObject读写文件,Public Class UsesScripting Public Shared Sub Main() Dim fileSystem As New Scripting.FileSystemObject() Dim file As Scripting.TextStream file = fileSystem.

10、OpenTextFile(“C:test.txt“) Dim contents As String = file.ReadAll() Console.WriteLine() file.Close() End Sub End Class,.NET框架公共运行库文件I/O,集中在System.IO命名空间。常用的类: Directory :用于创建、移动和枚举目录和子目录的静态方法。 File:用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。 FileInfo:提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream对象。 File

11、Stream:与 Stream对象配合,完成更多的文件操作。我们将在下一节对它进行介绍。 Path:指定文件的目录路径信息。,11.3 使用System.IO命名空间 中的类访问文件,11.3.1 流的有关基本概念 11.3.2 使用FileStream类访问文件 11.3.3 使用StreamReader和Stream Writer类 访问文本文件 11.3.4 使用BinaryReader和Binary Writer类访问二进制文件,11.3.1 流的有关基本概念,1. 什么是“流”?为什么使用“流”? 可以将流视为一组连续的一维数据,包含开头和结尾,并且其中的“游标”指示了流中的当前位置

12、。 并不是所有的数据都存在于文件中。流技术使得应用程序能够基于一个编程模型,获取各种数据。,11.3.1 流的有关基本概念,2. 流的操作 基本方法: (1)读取:从流到数据结构(如字节数组)的数据传输。 (2)写入:从数据源到流的数据传输。 (3)查找:对流内的当前位置进行的查询和修改。,11.3.1 流的有关基本概念,3. 流的种类 Stream是一个抽象类,由Stream派生出5种具体的流: FileStream:支持对文件的顺序和随机读写操作。 MemoryStream:支持对内存缓冲区的顺序和随机读写操作。 NETworkStream:支持对Internet网络资源的顺序和随机读写操

13、作,存在于System.Net.Sockets名称空间。 CryptoStream:支持数据的编码和解码,存在于System.Security.Cryptography 名称空间。 BufferedStream:支持缓冲式的读写对那些本身不支持的对象。,11.3.1 流的有关基本概念,4. System.IO命名空间中的常用类 (1)Directory类与DirectoryInfo类 这两个类主要用于文件目录操作,都提供一些用于创建、移动和遍历目录的方法。二者的区别是Directory类不必创建类的实例就可以调用它的方法,而DirectoryInfo类中的方法是实例方法,必须在创建实例后才用调

14、用。 (2)File类和FileInfo类 这两个类主要用于文件操作,都提供一些用于创建、拷贝、移动、打开文件及创建FileStream对象等的方法。二者的区别是,File类不必创建类的实例就可以调用它的方法,而FileInfo类中的方法都是实例方法,必须在创建实例后才能调用。,11.3.1 流的有关基本概念,(3)FileStream类 FileStream类是Steam类的派生类,它以字节流的方式对文件中的数据进行操作,它将对普通文件、标准输入、输出设备的操作都看作输入、输出流。 (4)StreamReader类和StreamWriter类 这两个类常用于读、写文本文件。利用StreamR

15、eader类可以从文本文件中读取字符,利用StreamWriter类可以向文本文件中写入字符。 (5)BinaryReader类和BinaryWriter类 这两个类主要用于读、写二进制文件。一般利用BinaryReader类从二进制文件中读取数据,BinaryWriter向二进制文件中写入数据。,11.3.2 使用FileStream类访问文件,FileStream类的常用属性,11.3.2 使用FileStream类访问文件,FileStream类的常用方法 (1)构造函数 格式1: Protected Sub New (path As String, mode As FileMode)

16、功能:以参数path指定的路径和文件名、参数mode指定 的方式创建FileStream实例。 格式2: Protected Sub New (path As String, mode As FileMode, access As FileAccess) 功能:以参数path指定的路径和文件名、参数mode指定的模式和access指定的读写权限创建FileStream实例。,11.3.2 使用FileStream类访问文件,(2)Read方法 功能:将文件中的内容写入字节数组。 格式: Public Overrides Function Read ( buffer As Byte(), offset As Integer, count As Integer ) As Integer 注:Buffer是要写入的数组地址,offset是偏移量,count指写入字节数量。 实例: Dim instance As FileStream Dim array As Byte() Dim offset As Integer Dim count As Integer Di

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号