打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
计算机技术基础(第十二章 文件 )
计算机技术基础(VB)
第十二章 文件 
学习内容
第一节 文件的基本概念
必修
开启
通过
第二节 顺序文件
必修
开启
通过
第三节 随机文件
必修
开启
通过
第四节 文件系统控件
必修
开启
通过
第五节 文件系统对象模型(FSO)
必修
开启
通过
本章小结
必修
开启
通过
第一节 文件的基本概念
文件:指存储在外部介质上的数据的集合。
分类:
从文件内容分—程序文件、数据文件
按存取方式分—顺序文件、随机文件、二进制文件
顺序文件:普通的纯文本文件。
查找数据必须按记录顺序进行。
不能同时进行读写操作。
随机文件:以固定长度的记录为单位进行存储。
可以按任意顺序访问其中的数据。
可以同时进行读写操作。
不能用字处理软件查看。
二进制文件:以字节为单位进行访问。
不能用字处理软件查看。
第二节 顺序文件
顺序文件:ASCII文件
由任何字处理软件建立、在VB中建立
只能按顺序存取记录
例:文件AA.DAT内容如下:
"zhang san","85","90"
"li si","70","66"
"wang wu","90","89"
记录:行
域:字段,数据项
顺序文件操作:打开文件、读或写文件、关闭文件
一、顺序文件的打开和关闭
1.顺序文件的打开
格式:Open<文件名>FOR<方式>AS[#]<文件号>
功能:按指定的方式打开文件,并指定一文件号。
<方式> <方式>:
Input—以只读方式打开。当文件不存在时出错。
Output—以写方式打开。
如果文件不存在,则创建一个新文件。
如果文件已经存在,则删除原数据。
Append—以添加方式打开文件。
如果文件不存在,就创建一个新的文件。
如果文件已经存在,写数据时从文件尾添加。
<文件号> <文件号>:1到511之间的整数。
例:
(1)在C盘Data文件夹下建立一个名为stud.dat的文件
Open "C:\Data\Stud.dat"For Output As #1
(2)打开当前盘当前文件夹下的Salary.dat文件,以便从中读取数据
Open"Salary.dat"For Input As #8
(3)打开C盘Data文件夹下名为Stud.dat的文件,以便在文件末尾添加数据
Open "C:\Data\Stud.dat"For Append As 2
2.顺序文件的关闭
格式:Close[<文件号列表>]
其中:<文件号列表> <文件号列表>缺省时关闭所有打开的文件。
例:
(1)关闭文件号为1的文件
Close #1
(2)关闭文件号为1、2、8的文件
Close#1,2,#8    '文件号前的“#”号可以省略
(3)关闭所有打开的文件
Close
二、顺序文件的读写
1.写操作
(1)Write #语句
格式:Write#<文件号>,[<输出列表>]
功能:将<输出列表>的内容写入指定的文件中。
例:Write #1,A1,A2,A3
说明:
<输出列表>中各项之间要用逗号分开
<输出列表>每一项可以是常量、变量或表达式
写到文件中的各数据间自动插入逗号,字符串自动加上双引号
所有数据写完后,在最后加入一个回车换行符
不含 <输出列表>时,将在文件中写入一空行
【例12-1】建立一个新的学生成绩文件,将输入的学生成绩添加到文件中。界面如下图。
Private Sub Form_Load()
CommonDialog1.ShowSave
End Sub
Private Sub Command1_Click()  '添加
no=Text1.Text:na=Text2.Text
g1=Val(Text3.Text):g2=Val(Text4.Text)
Write #2,no,na,g1,g2
Text1.Text= "":Text2.Text=""
Text3.Text= "":Text4.Text=""
End Sub
Private Sub Command2_Click()  '退出
Close#2
End
End Sub
(2)Print #语句
格式:Print#<文件号>,<输出列表>
功能:将<输出列表>的内容写入指定的文件中。
说明:
当<输出列表>用逗号分隔时,采用分区格式输出
当<输出列表>用分号分隔时,采用紧凑格式输出
所有项将在一行内输出,输出后将自动换行
可以使用Spc()函数和Tab()函数
将例12-1中的Write #语句改用Print #语句:
Print #2,no,na,g1,g2
用:Write #2,no,na,g1,g2生成的数据:
"001","张三",87,92
"002","李四",76,89
"003","王五",93,86
用:Print #2,no,na,g1,g2生成的数据:
001   张三   87   92
002   李四   76   89
003   王五   93   86
用:Print #2,no;na;g1;g2生成的数据:
001张三 87 92
002李四 76 89
003王五 93 86
2.读操作
(1)Input #语句
格式:Input#<文件号>,<变量列表>
功能:从文件中读取数据,按顺序给变量列表中的变量赋值。
说明:常用于读取用Write语句生成的文件数据。
按顺序读,每读完一条记录,记录指针向后移动一条记录。
(2)Line Input #语句
格式:Line Input #<文件号>,<变量名>
功能:从文件中读取一行数据,作为字符串存放在<变量名> <变量名>中。
(3)EOF函数:EOF(<文件号>)。
当到达文件结尾时,EOF函数为True。否则为False。
【例12-2】读入上例生成的文件,并计算每个学生的平均成绩,界面如下,其中,通用对话框控件用于打开一个“打开文件”对话框,在对话框中所选择的文件将作为要显示的文件。
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #3
Text1.Text= ""
Do While Not EOF(3)
'装入用Write #语句生成的文件
Input #3,num,nam,s1,s2
ave=(s1+s2)/2
Text1.Text=Text1.Text  & num &" "& nam _
&" " & Str(s1) &" " & Str(s2) & _
" " & Str(ave) & Chr(13) & Chr(10)
Loop
Close #3
End Sub
【例12-3】读取例12-1生成的学生成绩文件,计算每个学生的平均成绩,计算每门课的平均成绩,将结果显示于文本框中,同时将计算结果与原数据保存于另外一个指定的文件中,设计界面如下图所示。
分析:设立三个数组:学号、姓名、成绩
Dim Num(100) As String,Nam(100) As String
Dim G(100,2) As Integer,N As Integer
Private Sub Command1_Click()  '装入数据
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #3
N=0
Do While Not EOF(3)
N=N+1
Input #3,Num(N),Nam(N),G(N,1),G(N,2)
Text1.Text=Text1.Text  & "  "& Num(N) & _
" " & Nam(N) & " " & Str(G(N,1)) & _
" " & Str(G(N,2)) & " " & Chr(13) & Chr(10)
Loop
End Sub
Private Sub Command2_Click()  '计算平均
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Output As #4
SUM1=0
SUM2=0
Text2.Text= ""
For i=1 To N
Ave=(G(i,1)+G(i,2))/2
Write #4,Num(i),Nam(i),G(i,1),G(i,2),Ave
Text2.Text=Text2.Text  & "  " & Num(i) & _
" " & Nam(i) & "  " & Str(G(i,1)) & "  " & _
Str(G(i,2))  & "  " & Str(Ave) & vbCrLf
SUM1=SUM1+G(i,1):SUM2=SUM2+G(i,2)
Next i
Text2.Text=Text2.Text  &"总平均"&" " & _
Str(SUM1 / N)  & "  " & Str(SUM2 / N)
Write #4, "总平均",SUM1 / N,SUM2 / N
End Sub
Private Sub Command3_Click()  '退出
Close #3,#4
End
End Sub
第三节 随机文件
随机文件特点:读写次序任意、记录长度相等
随机文件中的记录常定义为用户自定义类型。
1.用户自定义类型
[Private|Public]Type<自定义类型名>
<元素名>[(下标)]As<类型>
[ <元素名>[(下标)]As<类型>]
End Type
说明:
(1)<自定义类型名> <自定义类型名>、<元素名>遵循变量的命名规则。
(2)<类型> <类型>可以是VB系统提供的基本数据类型或已声明的自定义类型。
(3)缺省[Private|Public]选项时,默认为Public。
必须在窗体模块或标准模块的“通用”位置的声明段进行声明。
在窗体模块中定义时必须使用Private关键字。
(4)如果自定义类型的一个元素为数组,则其下标的下界不受OptionBase语句的限制。
(5)在使用自定义类型前,必须先声明自定义类型的变量。
(6)引用自定义类型元素,使用如下格式:
<自定义类型变量名>.<元素名> <自定义类型变量名>.<元素名>
例:在窗体的声明段中定义如下的Students类型用来存放学生的信息,并声明一个Students类型的变量。在窗体的Load事件过程中,实现对变量的每个元素赋值。单击窗体输出自定义类型变量各元素的值。代码如下:
Private Type Students
Dept As String * 20    '系
ClassNo As String * 10   '班级
Name As String      '姓名
Age As Integer      '年龄
End Type
Dim Stud As Students    '声明一个自定义类型变量
Private Sub Form_Load()
'给变量的每个元素赋值
Stud.Dept= "计算机系"
Stud.ClassNo= "软件2001-1"
Stud.Name= "张三"
Stud.Age=18
End Sub
Private Sub Form_Click()
Print Stud.Dept  '输出每个元素的值
Print Stud.ClassNo,Stud.Name,Stud.Age
End Sub
一、随机文件的打开和关闭
1.随机文件的打开
使用之前必须先打开文件
格式:Open<文件名>[For Random]As<文件号>
Len=<记录长度>
说明:
(1)For Random表示打开随机文件,可以省略。
(2)<记录长度>:通常就是自定义类型的大小,可用Len函数获得。
(3)若文件不存在,则建立一个新的文件。
2.随机文件的关闭
Close语句
二、随机文件的读写
1.写文件
格式:Put [#]<文件号>,[<记录号>],<变量名>
功能:将一个变量的数据写入随机文件中。
说明:
(1)<记录号> <记录号>:若文件中已有此记录,则该记录将被新数据覆盖;若文件中无此记录,则在文件中添加一条新记录。
如果省略 <记录号>,则写入数据的记录号为上次读或写的记录的记录号加1。
(2)<变量名> <变量名>:通常是一个自定义类型的变量,也可以是其他类型的变量。
2.读文件
格式:Get [#]<文件号>,[<记录号>],<变量名>
功能:将一个已打开的随机文件读入一个变量之中。
【例12-4】建立学生成绩随机文件。界面如下图。
Private Type StudRec
No As String * 6
Name As String * 8
Math As Integer
English As Integer
End Type
Dim StudTab As StudRec
Private Sub Form_Load()
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Random As #1 Len=Len(StudTab)
End Sub
Private Sub Command1_Click()
StudTab.No=Text1.Text
StudTab.Name=Text2.Text
StudTab.Math=Val(Text3.Text)
StudTab.English=Val(Text4.Text)
Put #1, ,StudTab
Text1.Text= ""
Text2.Text= ""
Text3.Text= ""
Text4.Text= ""
End Sub
Private Sub Command2_Click()
Close #1
End
End Sub
第四节 文件系统控件
驱动器列表框(DriveListBox)
目录列表框(DirListBox)
文件列表框(FileListBox)
作用:获取有关驱动器、目录和文件的当前状态
一、驱动器列表框(DriveListBox)
显示系统中所有有效磁盘驱动器
1.属性:Drive—返回或设置驱动器名称
只能在运行时设置,值—A: C: D: E:等
例:Drive1.Drive="c:"
注意:改变Drive属性并不能自动变更当前驱动器,
要改变当前驱动器需使用ChDrive语句。
例:ChDrive "D:"
例:ChDrive Drive1.Drive
2.事件:Change—当选择一个新驱动器或通过代码改变Drive属性时发生。
例:将选择的驱动器设置为当前驱动器:
Private Sub Drive1_Change()
ChDrive Drive1.Drive
End Sub
二、目录列表框(DirListBox)
显示一个树型的目录结构
1.属性:Path—设置或返回当前工作目录的完整路径(包括驱动器盘符)
例:Dir1.Path = "c:\winnt"
注意:在目录列表框中选择目录不能改变当前目录,要真正改变当前目录需使用ChDir语句。
例:ChDir "c:\system"
例:ChDir Dir1.Path
2.事件Change—当双击一个目录项或通过代码改变 Path 属性时发生。
例:将选择的路径设置为当前路径
Private Sub Dir1_Change()
ChDir Dir1.Path
End Sub
三、文件列表框(FileListBox)
显示特定目录下的文件。
1.属性
(1)Path
设置或返回当前工作目录的完整路径。
(2)FileName
设置或返回所选文件的路径和文件名。
设置时:文件名可以带路径
返回时:文件名不含路径名
(3)Pattern:设置对显示文件的过滤。
例:Filelistbox1.Pattern= "*.EXE ; *.COM "
只显示以EXE和.COM为后缀的文件
2.事件
Click和DblClick事件
【例12-5】使用以下界面进行文件的复制和删除。
Private Sub Drive1_Change()
ChDrive Drive1.Drive
Dir1.Path=Drive1.Drive
End Sub
Private Sub Dir1_Change()
ChDir Dir1.Path
File1.FileName=Dir1.Path
End Sub
Private Sub Drive2_Change()
ChDrive Drive2.Drive
Dir2.Path=Drive2.Drive
End Sub
Private Sub Dir2_Change()
ChDir Dir2.Path
File2.FileName=Dir2.Path
End Sub
Private Sub Command1_Click()  '复制
If File1.FileName= ""Then
MsgBox "请选择文件"
Exit Sub
End If
srcfile=Dir1.Path  & "\" & File1.FileName
If File2.FileName= ""Then
desfile=Dir2.Path  & "\" & File1.FileName
Else
desfile=Dir2.Path  & "\" & File2.FileName
End If
FileCopy srcfile,desfile
File1.Refresh
File2.Refresh
End Sub
Private Sub Command2_Click  ' 移动
If File1.FileName =  ""Then
MsgBox "请选择文件"
Exit Sub
End If
srcfile=Dir1.Path  & "\" & File1.FileName
If File2.FileName= "" Then
desfile=Dir2.Path  & "\" & File1.FileName
Else
desfile=Dir2.Path  & "\" & File2.FileName
End If
FileCopy srcfile,desfile
Kill srcfile
File1.Refresh
File2.Refresh
End Sub
Private Sub Command3_Click()  '删除
If File1.FileName =  "" Then
MsgBox "请选择源文件"
Exit Sub
End If
srcfile=Dir1.Path  & "\" & File1.FileName
Kill srcfile
File1.Refresh
File2.Refresh
End Sub
第五节 文件系统对象模型(FSO)
通过对象提供的属性和方法来操纵和管理文件系统。
一、文件系统对象模型概述
1.FSO对象模型的主要对象
(1)FileSystemObject—核心对象。提供了一整套用于创建、删除、收集相关信息,以及通常的操作驱动器、文件夹和文件的方法。
(2)Drive—用来收集系统所用的驱动器的信息。
(3)Folder—提供对一个文件夹所有属性的访问(查询文件夹的名称、路径等)。也允许使用适当的方法创建、删除或移动文件夹。
(4)File—提供对文件所有属性的访问(查询文件的名称、路径等),也可以使用适当的方法创建、删除或移动文件。
(5)TextStream—允许用户读和写文本文件。
2.使用FSO对象模型编程的主要步骤
(1)创建FileSystemObject对象。
(2)根据编程需要,有两种选择:
对FileSystemObject对象使用适当的方法生成用于管理驱动器、文件夹和文件的对象(如Drive对象、Folder对象、File对象);用新创建的对象进行文件和文件夹的复制、移动、删除。
使用FileSystemObject对象的方法,进行文件或文件夹的创建、复制、移动、删除。再生成用于管理驱动器、文件夹和文件的对象(如Drive对象、Folder对象、File对象)来实现其他功能。
(3)访问步骤2生成的新对象的属性,来获取文件系统的信息(如文件名称、大小等)。
3.FileSystemObject对象的创建
创建FileSystemObject对象主要有二种方法:
(1)使用New关键字,将一个变量声明为
FileSystemObject对象类型。
例:Dim fso As New FileSystemObject
(2)使用CreateObject函数创建一个FileSystemObject对象。
例:
Set fso=CreateObject("Scripting.FileSystemObject")
3.说明
(1)FSO对象目前不支持对二进制文件和随机文件的访问,只能通过TextStream对象读写纯文本文件。
(2)FileSystemObject对象提供了许多与其他对象相同的功能,如FileSystemObject对象的CopyFile方法与File对象的Copy方法功能一样。编程时可以任选一种方法使用。
二、管理驱动器
功能:读取系统本地驱动器的信息,获得网络驱动器的信息等。
使用Drive对象管理驱动器。
Drive对象的属性见书上P227表12-2。
【例12-6】调用Drive对象的属性获得驱动器的信息
Private Sub Command1_Click()
'创建一个FileSystemObject对象fso
Dim fso As New FileSystemObject
'将变量drv声明为Drive对象类型
Dim drv As Drive, s_string As String
'返回一个Drive对象
Set drv=fso.GetDrive( "C:")
'调用Drive对象的属性获得驱动器信息
s_string= "驱动器" & ("C:") & vbCrLf
s_string=s_string  & "磁盘总容量:" & _
FormatNumber(drv.TotalSize/1024,0)
s_string=s_string  & "Kb" & vbCrLf
s_string=s_string  & "剩余空间:" & _
FormatNumber(drv.FreeSpace/1024,0)
s_string=s_string  & "Kb" & vbCrLf
MsgBox s_string
End Sub
三、管理文件夹
功能:文件夹的创建、复制、移动、删除及获取与文件夹有关的信息
使用FileSystemObject对象和Folder对象都可以完成对文件夹的管理。
管理文件夹的部分属性和方法见书P228表12-3、4
1.文件夹的创建
例:使用FileSystemObject对象的CreateFolder方法在C盘上创建两个文件夹“apple”和“orange”。
Dim fso
Set fso=_
CreateObject( "Scripting.FileSystemObject")
Fso.CreateFolder( "c:\apple")
Fso.CreateFolder( "c:\orange")
2.文件夹的复制、移动、删除
例:将上例创建的文件夹orange复制到apple文件夹中
方法一:使用FileSystemObject对象的方法
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "c:\orange", "c:\apple\"
方法二:使用Folder对象的方法
Dim fso,o_folder
Set fso=CreateObject("Scripting.FileSystemObject")
Set o_folder=fso.GetFolder("c:\orange")
o_folder.Copy "c:\apple\"
3.获取与文件夹有关的信息
FileSystemObject对象和Forlder对象配合使用
【例12-7】查看文件夹apple的部分属性。
Private Sub Form_Click()
Dim fso,o_folder,s_Str
Set fso=CreateObject( "Scripting.FileSystemObject")
Set o_folder=fso.GetFolder( "c:\apple")
'获得文件夹所在的驱动器
s_Str= "文件夹"&o_folder.Name & "在"
s_Str=s_Str  & UCase(o_folder.Drive) & "驱动器上"
s_Str=s_Str  & vbCrLf & vbCrLf
'获得文件夹名及创建时间
s_Str=s_Str  & "创建时间是:"& _
o_folder.DateCreated
MsgBox s_Str
End Sub
四、管理文件
功能:包括文件的创建(打开)、复制、移动、删除及获取与文件有关的信息。
可以使用FileSystemObject对象和File对象完成文件管理工作。
管理文件的部分属性和方法:P229-230表12-5;表12-6
1.文件的创建与打开
FSO对象模型提供了三种创建和打开文件的方法:
(1)使用FileSystemObject对象的CreateTextFile方法
格式:
<对象名>   <对象名>.CreateTextFile(<文件名>[,<覆盖否>[,Unicode]])
功能:创建一个指定文件名的文件,并且返回一个用于对该文件进行读写的TextStream对象。
说明:
①<对象名> <对象名>:一个FileSystemObject的名字。
②<文件名> <文件名>:字符串表达式,表示新创建的文件名。
③<覆盖否> <覆盖否>:当设置为False时,表示如果文件已存在,新创建的文件不覆盖原文件,否则覆盖原文件。缺省值为False。
使用前应用FileExists方法判断文件是否存在,以免发生错误。
④Unicode:当设置为False时,表示创建ASCII文件,否则创建Unicode文件。缺省值为False。
【例12-8】创建一个名为“testfile.txt”的文件,并在文件中写入“创建文件方法一:使用CreateTextFile方法”。
Private Sub Command1_Click()
Dim fso,tso
Set fso=CreateObject( "Scripting.FileSystemObject")
'判断文件是否存在
If fso.FileExists(“c:\testfile.txt”)Then
MsgBox "文件已存在!"
Unload Me
Else
Set tso=fso.CreateTextFile( "c:\testfile.txt",True)
tso.WriteLine( "创建文件方法一:使用
CreateTextFile方法 ") '向文件中写
tso.Close
End If
End Sub
(2)使用FileSystemObject对象的OpenTextFile方法
格式:<对象名> <对象名>.OpenTextFile
(<文件名>[,<方式>[,<创建否>[,<文件格式>]]])
功能:打开指定的文件;返回一个TextStream对象
说明:
①<对象名> <对象名>:一个FileSystemObject的名字。
②<文件名> <文件名>:字符串表达式,表示新创建或打开的文件名。
③<方式> <方式>:可选项。表示输入/输出方式,可为常量ForReading或ForAppending。
④<创建否> <创建否>:False—如果文件不存在将不创建文件,True—时创建一个新文件。
缺省值为False。
⑤<文件格式> <文件格式>:打开文件的格式。
如果省略,则文件以ASCII格式打开。
【例12-9】创建一个名为TestFile.txt的新文件,并写入“打开或创建文件方法二:使用OpenTextFile方法”。
Private Sub Command1_Click()
Dim fso,fTextStream
Set fso= _
CreateObject( "Scripting.FileSystemObject")
'创建TextStream对象
Set fTextStream=fso.OpenTextFile( "c:\testfile.txt", _2,True)
fTextStream.Write _
"打开或创建文件方法二,使用OpenTextFile方法"
fTextStream.Close   '关闭文件
End Sub
(3)使用File对象的OpenAsTextStream方法
格式:
<对象名>.OpenAsTextStream([<方式>,[<文件格式>]])
功能:打开指定的文件;返回一个TextStream对象,
该对象可用来对文件进行读、写、追加操作。
说明:
① <对象名> <对象名>:一个File对象的名字。
② <方式> <方式>:表示输入/输出方式。可为常量:
ForReading、ForWriting或ForAppending
③ <文件格式> <文件格式>:指示打开文件的格式。
如果省略,则文件以ASCII格式打开。
【例12-10】用写方式创建文件“testfile.txt”,并写入“创建文件方法三:OpenAsTextStream方法”。
Private Sub Command1_Click()
Dim fso,fo,tso
Set fso=CreateObject( "Scripting.FileSystemObject")
fso.CreateTextFile "c:\testfile.txt"  '创建一个文件
'获得一个File对象的文件句柄
Set fo=fso.GetFile( "c:\testfile.txt")
'创建TextStream对象用于写
Set tso=fo.OpenAsTextStream(2)
tso.Write "创建文件方法三(OpenAsTextStream方法)"
tso.Close
End Sub
2.文件的复制、移动、删除
(1)使用FileSystemObject对象的
CopyFile、MoveFile、DeleteFile方法。
例:
Dim fso,fo
Set fso=CreateObject("Scripting.FileSystemObject")
'复制文件“c:\testfile.txt”到"c:\destination\textfile.txt"
fso.CopyFile "c:\testfile.txt", "c:\destination\"
(2)使用File对象的Copy、Move、Delete方法。
例:
Dim fso,fo
Set fso=CreateObject("Scripting.FileSystemObject")
'复制文件"c:\testfile.txt"到"c:\destination\textfile.txt"
Set fo=fso.GetFile("c:\testfile.txt") ' 获得File对象句柄
fo.Copy"c:\destination\"
3.获取与文件有关的信息
FileSystemObject对象和File对象必须配合使用才能获取文件的有关信息。
【例12-11】执行下列程序可以查询文件:
c:\windows\notepad.exe
建立的时间和文件大小等文件信息。
Private Sub Command1_Click()
Dim fso,fo,stemp
Set fso =_
CreateObject( "Scripting.FileSystemObject")
'获得一个File对象
Set fo=fso.GetFile( "c:\windows\notepad.exe")
sString=“文件”  & _
UCase(fo.Name)  & vbCrLf & vbCrLf '获得文件名
'获得文件创建时间
sString=sString  & "建立的时间是: " & _
fo.DateCreated  & vbCrLf & vbCrLf
'获得文件的大小
sString=sString  & "占用的磁盘空间为: " & _
fo.Size  & "字节"
MsgBox sString '显示获得的文件信息
End Sub
4.文件读/写
使用TextStream对象进行文件的读写操作。
TextStream对象与读/写文件有关的方法见P232表12-8。
5.关闭文件
关闭由TextStream对象打开的文件用Close方法。
例如:tso.Close。
【例12-12】创建一个文件并写入一些信息,然后再将信息读出显示在消息框中。
Private Sub Command1_Click()
Dim fso,fo,tso,sString
Set fso=
_CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "c:\testfile.txt" '创建一个文件
'获得一个File对象的文件句柄
Set fo=fso.GetFile("c:\testfile.txt")
'创建TextStream对象用于写
Set tso=fo.OpenAsTextStream(2)
'在文件中写一个字符串
tso.Write"用TextStream对象的Write、Read方法,演示文件的读写操作"
tso.Close
Set tso=fo.OpenAsTextStream()
sString=tso.ReadLine ' 读一行
tso.Close
MsgBox sString  ' 显示读出的信息
End Sub
本章小结
1.文件的基本概念
文件:是指存储在外部介质上的数据的集合。
按存取方式分类:顺序文件
随机文件
二进制文件
2.顺序文件
ASCII文件;只能按顺序存取记录
打开:Open语句
关闭:Close语句
写:Write#、Print#语句
读:Input#、LineInput#语句,Input、InputB函数
3.随机文件
读写次序任意、记录长度相等
通常用自定义类型变量存取数据
打开:Open语句
关闭:Close语句
写:Put语句
读:Get语句
4.文件系统控件
驱动器列表框(DriveListBox):Drive属性
Change事件
目录列表框(DirListBox):Path属性
Change事件
文件列表框(FileListBox):Path属性
FileName属性
Pattern属性
Click、DblClick事件
5.文件系统对象模型FSO
管理驱动器:Drive对象
管理文件夹:FileSystemObject对象、Folder对象
管理文件:FileSystemObject对象、File对象
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用VB操作目录和文件夹
【烟花原创】VBA零基础之第202篇FSO对象(1)
★Excel-VBA操作文件四大方法[ExcelHome技术论坛]
vb读取和写入多行的txt文件
VBS FSO操作全集
Excel VBA(宏)精简(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服