Visual Basic文件操作全攻略

转载 2006年05月28日 10:56:00
无论是大的操作系统还是单一功能的应用软件,在大多数时候我们都需要打开一些文件,或者保存一些数据,所以文件操作是编程的基本功之一。

  文件操作的内容包括目录、文件夹和文件,使用Visual Basic可以利用多种方法实现文件操作。在这个专题中我全面介绍了Visual Basic操作文件的方法:控件、命令、Windows API

   利用Visual Basic命令操作文件

   利用Visual Basic常用控件操作文件

   利用VB控件操作目录和文件夹

   VB中操作目录的Winodws API小结

利用Visual Basic命令操作文件

打开和关闭文件

   1、顺序文件

   打开顺序文件,我们可以使用Open语句。它的格式如下:

Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize]

   说明:

   1)参数pathname 表示要打开的文件名,文件名可以包含有驱动器和目录

   2Input Output Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。

   3As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.

   (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.

   例如:

Open App.Path + "/test.dat" For Output As 1

Open App.Path + "/test.dat" For Output As 1

   这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.

Open App.Path + "/test.dat" For Input As [#]filenumber

   这条语句是从文本文件中读取数据.

Open App.Path + "/test.dat" For Append As [#]filenumber

   这条语句则是像文本文件中添加数据

 

   2、随机文件

   操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:

Type Student

  No As Integer

  Name As String * 20

  age As Integer

End Type

Dim Stud As Student ‘定义一个可以存放学生材料的变量

   随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud.

   之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:

Open filename For Random as [#]filenumber Len = Reclength

   说明:

   (1)参数filename filenumber 分别表示文件名或文件号.

   (2)关键字Random 表示打开的是随机文件

   (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节.

   打开一个记录类型为Student 的随机文件的方法是:

Open "c:/Student.txt " For Random As #1 Len = 25

   3、二进制文件

   打开二进制文件的语法格式如下:

Open pathname For Binary As [#]filenumber

   说明:

   (1) 参数filename filenumber 分别表示文件名或文件号.

   (2)关键字Binary 表示打开的是二进制文件

   (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,n个字节的文件,就有1n个位置.

   我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节 );Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:

Open “student.txt” for Binary as #1

   该语句用二进制的方式打开了student.txt文件.

读文件

   1、顺序文件

   顺序文件的读取有三种方式:

   1Line Input # 语句

   该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:

Line Input # 文件号,变量号

   说明:“文件号”是打开文件时所用的文件号;“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。

   请看下面代码:

Dim strLine As String

Open "c:/vb/test.txt" For Input As #1

Do Until EOF(1)

  Line Input #1, strLine

  text1.Text = text1.Text + strLine + Chr(13) + Chr(10)

Loop

Close #1

   此段代码逐行读取一个文件到文本框中。

   2Input函数

   此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式:

   变量 = Input(串长度,文件号)

   例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:

file = Input12filenum

   如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:

file = StrCopy Input LOFfilenanum),filenum),vbUnicode

   3Input # 语句

   Input #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。

   下面使它的语法格式:

Input # 文件号,变量列表

   例如,我们要在文件student.txt中写入数据,下面是代码:

Open "student.txt" For Output As #filenum

Write #filenum, "张三", "初一年级", 14

Write #filenum, "李四", "职业高中", 18

Dim name As String, nianji As String, age As Integer

Dim name1 As String, nianji1 As String, age1 As Integer

Open "student.txt" For Input As #filenum

Input #filenum, name, nianji, age

Input #filenum, name1, nianji1, age1

Close #filenum

   执行结果:

name=”张三” ,nianji = “初一年级” ,age =14

name=”李四” ,nianji = “职业高中” ,age =18

 

   2、随机文件

   读取随机文件是可以使用Get # 语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中.

   语法格式: Get # FileNum ,[RecNum],UserType

   说明:

   (1)FileNum 是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录

   (2)UserType 是一个用来存放读出数据的用户自定义的数据类型变量.

   下面是一个例子:

Get # 1,5,Student

   该语句读取文件号为1的文件中的第5条记录.

 

   3、二进制文件

   读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明:

   格式: Get [#]fileNumber ,[Pos], Var

   功能: 用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据

   说明:

   (1)FileNumber是以二进制方式打开的文件号.

   (2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置.

   (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置.

   下面的代码复制studert.txt文件到student1.txt文件中

Dim ar As String * 1, i As Integer

Open "c:/student.txt" For Binary As #1

Open "c:/student2.txt" For Binary As #2

For i = 1 To LOF(1)

  Get #1, , ar

  Put #2, , ar

Next i

Close #1, #2

.net入门之VB篇:Visual Basic.Net中的文件操作(一)

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 10:30
  • 117

Visual Basic文件操作全攻略

无论是大的操作系统还是单一功能的应用软件,在大多数时候我们都需要打开一些文件,或者保存一些数据,所以文件操作是编程的基本功之一。  文件操作的内容包括目录、文件夹和文件,使用Visual Basic可...
  • lgb571
  • lgb571
  • 2006年05月28日 10:56
  • 1373

Visual Basic文件操作全攻略

Visual Basic文件操作全攻略 天涯孤舟 发表于 2006-3-12 5:03:00 无论是大的操作系统还是单一功能的应用软件,在大多数时候我们都需要打开一些文件,或者保存一些数据,所以文...
  • zhangjie_xiaoke
  • zhangjie_xiaoke
  • 2008年11月28日 17:00
  • 602

Visual Basic 指针操作详解

想当年东方不败,黑木崖密室一战,仅凭一根绣花针独战四大高手,神出鬼没,堪称天下武林第一高手。若想成为VB里的东方不败,熟习VB《葵花宝典》,掌握VB指针技术,乃是不二的法门。   欲练神功,引刀...
  • qq_15724883
  • qq_15724883
  • 2014年11月13日 18:54
  • 468

在 Visual Basic 中资源文件的多种使用技巧

在 Visual Basic 中资源文件的多种使用技巧武汉 艾军摘要 本文介绍了 Visual Basic 中资源文件的多种使用技巧:①开发中英(简、繁)双版本的技巧;②实现“绿色”软件;③直接播放声...
  • marcoleung
  • marcoleung
  • 2004年07月18日 23:28
  • 1105

VB打开文本文件的各种方法

打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。 下面所举的例子均假设F盘下有一个名为d....
  • cncco
  • cncco
  • 2009年11月05日 00:13
  • 804

Visual Basic 6.0安装教程

Visual Basic 6.0安装教程 1、准备工作: 下载软件 2、安装Visual Basic 6.0的步骤 ① 把下载的压缩包解压出来。 ② 在解压出来的文件夹VB60...
  • u013677841
  • u013677841
  • 2014年02月16日 17:35
  • 1008

Visual Basic for Applications 学习笔记(一)

一 创建新工作簿 如果要用 Visual Basic 创建新的工作簿,应使用 Add 方法。下述过程创建了新工作簿。Microsoft Excel 自动将该工作簿命名为“BookN”,其中 N 是下一...
  • DeRoshia
  • DeRoshia
  • 2007年01月19日 14:16
  • 814

常见文件打开方式

 常见文件打开方式(英文部分)-Ⅰ部分 .$$$ Temporary File .$$A OS/2 .$$F OS/2 Database .$$P OS/2 Notes .$$S OS/2 Sprea...
  • liufei_learning
  • liufei_learning
  • 2011年03月16日 23:44
  • 14412

打开文件或文件夹

//打开文件夹 public void OpenFolder(string FolderName) { ProcessStartInfo info = new ...
  • hutao1101175783
  • hutao1101175783
  • 2014年04月01日 13:04
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Basic文件操作全攻略
举报原因:
原因补充:

(最多只允许输入30个字)