江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
第七章 VB中的文件操作(重点概述)

第七章 VB中的文件操作

7.1    文件系统控件

1. 文件系统控件种类

 (1 驱动器列表框DriveListBox):用来显示当前机器上的所有盘符
 

 (
2
目录列表框DirListBox):用来显示当前盘上的所有文件夹

 
3 文件列表框FileListBox):用来显示当前文件夹下的所有文件名

2. 重要属性

属性

适用的控件

作用

示例

Drive

驱动器列表框

包含当前选定的驱动器名

Driver1. Drive="C"

Path

目录和文件列表框

包含当前路径

Dir1.Path="C:\WINDOWS"

FileName

文件列表框

包含选定的文件名

MsgBox File1.FileName

Pattern

文件列表框

决定显示的文件类型

File1.Pattern="*.BMP"

3. 重要事件

事件

适用的控件

事件发生的时机

Change

目录和驱动器列表框

驱动器列表框的Change事件是在选择一个新的驱动器或通过代码改变Drive属性的设置时发生

目录列表框的Change事件是在双击一个新的目录或通过代码改变Path属性的设置时发生

PathChange

文件列表框

当文件列表框的Path属性改变时发生

PattenChange

文件列表框

当文件列表框的Pattern属性改变时发生

Click

目录和文件列表框

用鼠标单击时发生

DblClick

文件列表框

用鼠标双击时发生

7.2     文件的读写

1.  文件的有关概念

 记录:计算机处理数据的基本单位,由若干个相互关联的数据项组成。相当于表格中的一行。

 
文件:记录的集合,相当于一张表。

 
文件类型:顺序文件、随机文件、二进制文件。

 
访问模式:计算机访问文件的方式,VB中有顺序、随机、二进制三种访问模式。

2. 顺序访问模式

    顺序访问模式的规则最简单,指读出或写入时,从第一条记录“顺序”地读到最后一条记录,不可以跳跃式访问。该模式专门用于处理文本文件,每一行文本相当于一条记录,每条记录可长可短,记录与记录之间用“换行符”来分隔。

  顺序文件的写入步骤打开、写入、关闭  读出步骤打开、读出、关闭

(1)打开文件

  打开文件的命令是Open,格式为:

  
       Open “文件名” For 模式  As [#] 文件号 [Len=记录长度]

 
说明

   1
)文件名可以是字符串常量也可以是字符串变量

   2)模式可以是下面之一:

 
     OutPut:打开一个文件,将对该文件进行写操作

  
    Input:打开一个文件,将对该文件进行读操作

  
    Append:打开一个文件,将在该文件末尾追加记录

   
3 文件号是一个介于1-511之间的整数,打开一个文件时需要指定一个文件号,这个文件号就代表该文件,直到文件关闭后这个号才可以被其他文件所使用。可以利用FreeFile()函数获得下一个可以利用的文件号。

       例: Open  "D:\sj\aaa"  For  Output  As  #1   

   
意思是:打开D:\SJaaa文件供写入数据,文件号为#1

(2)写操作

   将数据写入磁盘文件所用的命令是:Write# 或Print#。语法格式:

  1) Print #文件号,[输出列表]
    
     例:
Open D:\SJ\TEST.DAT For  Output  As  #1

      
 Print  #1,Text1.Text        '
把文本框的内容一次性写入文件

       Close  #1

  2Write #文件号,[输出列表]

        其中的输出列表一般指用逗号,分隔的数值或字符串表达式。Write #Print #的功能基本相同,区别是Write #是以紧凑格式存放,在数据间插入逗号,并给字符串加上双引号。

(3)  关闭文件

   结束各种读写操作后,必须将文件关闭,否则会造成数据丢失。关闭文件的命令是Close

  
Close  [#]文件号[[#]文件号]……

  
例: Close  #1#2#3

(4) 读操作

  1) Input #文件号,变量列表

    作用:将从文件中读出的数据分别赋给指定的变量。

   
注意:与Write #配套才可以准确地读出。

  2)Line  Input #文件号,字符串变量

    用于从文件中读出一行数据,并将读出的数据赋给指定的字符串变量,读出的数据中不包含回车符和换行符,可与Print #配套用。

  3)Input$(读取的字符数,#文件号)

    该函数可以读取指定数目的字符。

    
与读文件有关的两个函数:

    
LOF():返回某文件的字节数

    
EOF():检查指针是否到达文件尾。

    
例:将一个文本文件读入文本框的三种方法。

3.随机访问模式

     该模式要求文件中的每条记录的长度都是相同的,记录与记录之间不需要特殊的分隔符号。只要给出记录号,可以直接访问某一特定记录,其优点是存取速度快,更新容易。

 (1)  打开与关闭

    
打开Open “文件名” For  Random  As [#] 文件号 [Len=记录长度]

    
关闭Close  #文件号

       注意:文件以随机方式打开后,可以同时进行写入和读出操作,但需要指明记录的长度,系统默认长度为128个字节。

 (2)读与写

   
读操作Get  [#]文件号,[记录号],变量名

    说明:Get命令是从磁盘文件中将一条由记录号指定的记录内容读入记录变量中;记录号是大于1的整数,表示对第几条记录进行操作,如果忽略不写,则表示当前记录的下一条记录。

       写操作Put  [#]文件号,[记录号],变量名

     说明:Put命令是将一个记录变量的内容,写入所打开的磁盘文件指定的记录位置;记录号是大于1的整数,表示写入的是第几条记录,如果忽略不写,则表示在当前记录后插入一条记录。

4.  二进制访问模式

  打开Open “文件名” For  Binary  As [#] 文件号 [Len=记录长度]

     关闭Close  #文件号

     该模式是最原始的文件类型,直接把二进制码存放在文件中,没有什么格式,以字节数来定位数据,允许程序按所需的任何方式组织和访问数据,也允许对文件中各字节数据进行存取和访问。

    该模式与随机模式类似,其读写语句也是Get Put,区别是二进制模式的访问单位是字节,随机模式的访问单位是记录。在此模式中,可以把文件指针移到文件的任何地方,刚开始打开时,文件指针指向第一个字节,以后随文件处理命令的执行而一旦。文件一旦打开,就可以同时进行读写。

7.3     常用的文件操作语句和函数

1.   FileCopy语句

  格式FileCopy   源文件名  目标文件名

  
功能:复制一个文件

  
说明:不能复制一个已打开的文件

2.   Kill语句

  格式:Kill  文件名

  
功能:删除文件

  
说明:文件名中可以使用通配符 *,?

3.  Name语句

  格式:Name  旧文件名  新文件名

 
 功能:重新命名一个文件或目录

 
 说明:不能使用通配符;具有移动文件功能;不能对已打开的文件进行重命名操作

4. ChDrive语句

  格式:ChDrive  驱动器

 
 功能: 改变当前驱动器

 
说明:如果驱动器为空,则不变;如果驱动器中有多个字符,则只会使用首字母

5.MkDir语句

  格式:MkDir  文件夹名

 
 功能:创建一个新的目录

6.ChDir语句

  格式:ChDir  文件夹名

 
 功能:改变当前目录

 
 说明:改变默认目录,但不改变默认驱动器。

7. RmDir语句

  格式:RmDir  文件夹名

 
功能:删除一个存在的目录

 
说明:不能删除一个含有文件的目录

8. CurDir()函数

  格式: CurDir[(驱动器)]

 
功能:可以确定任何一个驱动器的当前目录。

 
说明:括号中的驱动器表示需要确定当前目录的驱动器,如果为空,返回当前驱动器的当前目录路径。