VB NET文件操作ppt课件

上传人:钟*** 文档编号:5845360 上传时间:2020-02-09 格式:PPT 页数:27 大小:254.50KB
返回 下载 相关 举报
VB NET文件操作ppt课件_第1页
第1页 / 共27页
VB NET文件操作ppt课件_第2页
第2页 / 共27页
VB NET文件操作ppt课件_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第九章文件操作 1 9 1文件概述 文件是指在各种存储介质上永久存储的数据的集合 它是进行数据读写操作的基本对象 例如用Excel或Word编辑制作的表格或文档就是一个文件 把它存放在磁盘上就是磁盘文件 输出到打印机上就是一个打印机文件 计算机以这些设备为对象进行输入输出 对这些设备的数据统一按文件处理 2 知识点1文件结构 为了有效的对数据进行处理 必须以某种特定的方式存放数据 这种特定的方式称为文件结构 文件由记录 Record 组成 一个文件含一个以上的记录 记录是由一组相关的字段 Field 组成 字段也称域 由若干字符 Character 组成 用来表示一项数据 字符是构成文件的最基本单位 字符可以是数字 字母 特殊符号或单一字节 例如某班有30名学生 该班的学生相关信息表由如表9 1所示的30条记录组成 每个学生的基本信息记录由学号 姓名 性别 年龄和班级等数据项组成 每个数据项又由相关字母或数字组成 3 知识点2文件种类 根据不同的标准 文件可分为不同的类型 例如根据数据的存取方式和结构可将文件分为顺序文件和随机文件 1 顺序文件是最简单 最基本的文件结构 文件中的记录一个接一个的存放 每条记录的长度不定 记录间的分界符一般为回车符 顺序文件的查找必须从第一条记录开始逐条顺序读取 一直找到所需要的数据为止 顺序文件的优点是使用简单 占用内存资源比较少 缺点是访问速度慢 不易维护 2 随机文件由固定长度的记录组成 每个记录又由固定数目的数据项所组成 此外每条记录都有一条记录号 在存取数据时 只要指明是第几号记录 就可以完成相应的存取操作 其优点是存入和读取的速度较快 数据容易更新 缺点是占用空间比较大 程序设计较为麻烦 4 根据文件的数据编码可以将文件分为文本文件和二进制文件 文本文件是由ASCII码字符所组成并且不带任何格式的文件 也称之为ASCII文件 这种文件也可用通常的字处理软件来建立和编辑 二进制文件是由二进制格式的数据编码存储的文件 由于不是使用普通的字符方式保存 所以不能用普通的字处理软件编辑 除此之外 可根据存储数据的性质将文件分为程序文件和数据文件 根据文件的流向分为输入文件和输出文件 根据文件的存储介质分为磁盘文件 磁带文件等等 5 知识点3文件访问方式 文件访问主要是对文件的读 写操作 读文件是将文件中的数据读入计算机内存 即向计算机输入数据 写文件 将计算机内存中的数据写入文件中 顺序文件 随机文件以及二进制文件由于文件中记录的组织方式和数据编码格式有所差别 所以文件的访问可分为顺序型 随机型和二进制型 顺序型适用于读取连续存储的文本文件 随机型适用于读取由固定长度记录组成的文本文件或二进制文件 二进制型适用于读取任意有结构的文件 除了没有数据类型和记录的概念外 与随机访问类似 VB NET提供了3种文件访问的方法 1 VB传统语句和函数直接访问文件2 通过 NET的System IO模型以流的方式对各种数据文件进行访问3 通过文件系统对象模型 FSO 访问文件本章主要介绍第二种文件访问方式 6 9 2文件流与System IO模型 VB NET对文件的操作一种重要的方法就是利用流来完成 流的输入和输出是利用System IO模型来实现的 知识点1System IO模型概念System IO模型提供了一个面向对象的方法访问文件系统 System IO模型提供了许多针对文件 文件夹的操作功能 特别是以流 Stream 的方式对各种数据进行访问 这种访问方式不仅灵活 而且可以保证编码接口的统一 7 System IO模型的实现包含在System IO命名空间中 该命名空间含有对数据流和文件进行同步或异步读写的类 结构和枚举类型 可以说 System IO模型是一个文件操作类库 包含的类可用于文件的创建 读写 复制 移动和删除等操作 大致可以分为三类 操作流的类 包括操作文件流 内存流 读写这些流的类操作文件夹的类 文件夹创建 移动 删除已经磁盘信息访问操作文件的类 对文件创建 移动 删除 获取文件信息 如扩展名 创建时间 是否只读等 其中最常用的类如表9 2所示 8 知识点2文件流 在现实世界中 流 是气体或液体运动的一种状态 借用这个概念 VB NET用流 Stream 表示数据的传输操作 将数据从内存传输到某个载体或设备中 叫做输出流 将数据从某个载体或设备传输到内存中 叫做输入流 流的概念进一步拓展 可以把与数据传输有关的事物称为流 例如把文件变量成为流 除此之外 还有网络流 内存流等 VB NET将文件看成是顺序的字节流 文件流是字节序列的抽象概念 因此我们可以把文件视为存储在磁盘上的一系列二进制字节信息 System IO模型下读写文件时 不是直接操作文件 而是通过文件流的某些方法来实现文件的读写 9 一般来说对流的操作有3类 1 读取 可以从流读取 读取是从流到数据结构 如字节数组 的数据传输 2 写入 可以向流写入 写入是从数据源到流的数据传输 3 定位 流可以支持查找 查找是对流内的当前位置进行查询和修改 VB NET提供的Stream类是所有流的基类 由它派生出文件流FileStream和缓冲区流BufferedStream 在System IO模型中 文件操作的基本方式是 用FILE类打开操作系统文件 建立对应的文件流即FileStream对象 用StreamReader StreamWriter类提供的方法对该文件流 文本文件 进行读写或用BinaryReader BinaryWriter类提供的方法对该文件流 二进制文件 进行读写 10 9 3文件夹和文件操作 VB NET提供了Directory和File等几个类来实现对文件夹和文件的复制 移动 删除等操作 本节将介绍与文件夹和文件操作相关的类及其用法 任务1编写一个简易的资源浏览器 11 知识点1Directory类 对文件夹的操作主要利用Directory和DirectoryInfo两个类来实现 两者很相似 区别在于Directory对象方法可以直接调用 而DirectoryInfo对象在使用前必须先建立一个对象的实例 然后才能调用DirectoryInfo方法 无论Directory类还是DirectoryInfo类都是System IO命名空间的成员 因此在使用两个类之前 需要先引入System IO命名空间 Directory类提供了文件夹操作的全部方法 由于该类提供的方法是共享的 所以不需要先建立对象就可以直接调用它的方法 下面介绍它的常用方法 12 CreateDirectory创建文件夹对象例如 Directory CreateDirectory E VBNET Delete删除指定的文件夹例如Directory Delete E VBNET 表示要删除E盘下的VBNET空文件夹 如果该文件夹下含有子文件夹或文件 则使用Directory Delete E VBNET True 13 Exitsts判断文件夹是否存在例如 IfDirectory Exists E VBNET thenDirectory Delete E VBNET True Move移动文件夹该方法是移动指定整个文件夹到同一磁盘中的另一个位置 并具有改名功能 例如 将E盘下的VBNET文件夹移动到E盘Program文件夹下 并改名为VB 语句如下 Directory Move E VBNET E program VB 14 GetLogicalDrivers获取逻辑盘符该方法功能是返回一个字符串数组 为当前计算机中所有逻辑驱动器名 每个驱动器名是形如 C 的字符串 格式如下 Directory GetLogicalDrivers GetDirectories获取文件夹下的子文件夹GetFiles获取文件夹下的文件例如 DimFileName AsStringFileName Directory GetFiles E VBNET TXT SearchOption AllDirectories 表示在E盘下的VBNET文件夹下及其子文件夹下查找扩展名为TXT的文件 15 任务2设计一个窗体 显示指定文件夹中所有文件的文件名 创建时间和文件属性 知识点2File类File类主要执行与文件有关的操作 包括文件的创建 移动 删除和打开等 所有的File方法都是静态的 无需类的实例 AppendAllText追加文本文件例如将文本 VB NET 添加到E VBNET ABC TXT文件中 语句如下 File AppendAllText E VBNET ABC TXT VB NET 16 Copy复制文件例如将c setup txt文件复制到e vbnet并改名为mytext text 如果有同名文件 则覆盖 语句如下 File Copy c setup txt e vbnet True 例如在E盘VBNET文件夹下创建myfile dat文件 File Create E VBNET myfile dat Delete删除文件例如删除E盘VBNET文件夹下的myfile dat文件 File Delete E VBNET myfile dat 17 Exists判断文件是否存在以下语句判断E盘VBNET文件夹下是否存在myfile dat文件 如果存在则删除 IfFile Exists E VBNET myfile dat thenFile Delete E VBNET myfile dat EndIfMove移动文件例如 File Move E text1 txt F text2 txt 将E盘下的text1 txt文件移动到F盘下 并改名为text2 txt Open打开文件例如以读写方式打开F盘下Text2 txt文件 若文件不存在则创建该文件 语句如下 File Open f text2 txt FileMode OpenOrCreate FileAccess ReadWrite GetAttributes和SetAttributes获取和设置文件属性 18 9 4文件读写 本节将介绍利用Stream FileStream StreamReader和StreamWriter四个类来实现文件的读写 任务3设计一个能打开文本文件并对其内容进行读写操作的窗体要求 利用Stream流将文本显示在窗体多行文本框中 并修改其内容后写入到磁盘文件中 19 知识点1Stream类 Stream类是所有流的基类 该类及其派生类提供不同类型的输入和输出的一般视图主要属性 1 CanRead属性获取一个值 该值指示当前流是否支持读取 2 CanSeek属性获取一个值 该值指示当前流是否支持查找 3 CanTimeout属性获取一个值 该值确定当前流是否可以超时 4 CanWrite属性获取一个值 该值指示当前流是否支持写入 5 Length属性获取用字节表示的流的长度 6 Position属性获取或设置此流的当前位置 7 ReadTimeout属性获取或设置一个值 该值确定流在超时前尝试读取多长时间 20 2 常用方法 1 Close方法关闭当前流并释放与之关联的所有资源 2 Read方法从文件中读取字节序列 3 Seek方法设置当前流中的位置 返回一个Long型值 4 SetLength方法将该流的长度设置为指定的值 5 Write方法用于向文件写入数据 21 任务4设计一个窗体 能打开文本文件并对其内容进行读写操作要求 利用FileStream流将文本显示在窗体多行文本框中 并修改其内容后写入到磁盘文件中 知识点2FileStream类FileStream类对文件系统上的文件执行读取 写入 打开和关闭操作 并对其他与文件相关的操作系统句柄执行操作 如管道 标准输入和标准输出 22 用FileStream类创建FileStream流对象方法的语法格式如下 Dim对象名AsNewFileStream path FileMode AccessMode ShareMode 各参数说明同File Open的参数 FileStream类有如下一些常用的方法 1 SetLength方法是设置文件的长度 2 Seek方法功能是对文件进行随机访问 3 Read方法从文件读取数据 4 Write方法向文件写数据 5 Lock方法锁定文件 防止其他进程访问文件的全部或部分 语法格式如下 Lock Position Length Position为Long类型数据 指定要锁定范围的起使位置 Length为Long类型数据 指定要锁定的范围 6 Unlock方法可解锁用Lock方法锁定的文件 调用的语法格式如下 UnLock Position Length Lock和Unlock两个方法是在文件读写操作中Filstream类两个最为重要的方法 由于Filestream类为文件读写提供通道 一个文件可能有多个文件读写 为了避免数据写入和读取的混乱 需要单通道操作 这时可以使用Lock方法来锁定 阻止其他的进程对文件执行操作 在操作完毕后可以使用Unlock方法对其解锁 23 任务5设计一个窗体 能打开文本文件并对其内容进行读写操作 选择一个磁盘文件利用StreamReader对象 读取文本文件内容显示在文本框中 修改其内容后再利用StreamWriter对象写入到磁盘文件中 24 知识点3StreamReader类 使用FileStream类时 其数据流是字节流 只能进行字节的读取 这样很不方便 System IO模型还提供了StreamReader类和StreamWriter类进行文本文件的读写 StreamReader类实现一个TextReader 以一种特定的编码从字节流中读取字符 使用StreamReader类读取数据的一般过程如下 首先通过File的OpenRead方法建立一个文件读取文件流 然后通过StreamReader类的方法将文件流的数据读到相应控件或变量中 25 知识点4StreamWriter类 StreamWriter类以一种特定的编码输出字符 StreamReader类写入文件的一般过程如下 首先通过File的OpenWrite方法建立一个文件写入流 然后通过StreamReader类的方法将文件流的数据读到相应控件或变量中 26 9 5简易的记事本程序 根据以前学习的菜单 对话框等控件的知识 结合本章的文件读写操作 来编写一个简易的记事本程序 这个记事本程序模仿Windows自带的记事本 实现了其部分功能 可以用来查看或编辑文本文件 本例中我们使用RichTexBox作为记事本的文本编辑区域 该控件可以看作是TextBox控件功能的扩展 同时使用了一系列的对话框控件来进行打开 保存等文件操作 27
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!