打印本文 打印本文 关闭窗口 关闭窗口
.net入门之VB篇:Visual Basic.Net中的文件操作(一)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2183  更新时间:2009/4/23 18:59:05  文章录入:mintao  责任编辑:mintao
   <VBFixedString(15)> Public Name As String

   <VBFixedString(2)> Public Sex As String

 End Structure

其中VBFixedString用于定义字符串为固定长度的字符串。

在打开一个文件进行随机操作访问前,应该定义一个类型该类型对应该文件已包含或未包含的记录。

打开要进行随机访问的文件

FileOpen 函数:FileOpen(FileNumber, FileName, OpenMode.Random, , , RecordLength)

FileNumberFileName 分别指定要打开的文件的编号和文件名。RecordLength 以字节为单位指定每条记录的大小。如果 RecordLength 小于写入文件的记录的实际长度,则会生成错误。

示例:打开随机访问的文件。

Dim FileNum  as Integer ,RecLength as Long, Aperson as Person

计算记录的长度

RecLength=Len(APerson)

获得可用的文件号

FileNum=FreeFile()

打开文件

FileOpen(FileNum,c:\example.txt,OpenMode.random,,,Reclenght)

打开文件之后就可以把记录读入变量中,使用FileGet函数。

示例:从文件中读取第一条记录

Dim FileNum  as Integer ,RecLength as Long, Aperson as Person

RecLength=Len(APerson)

FileNum=FreeFile()

FileOpen(FileNum,c:\example.txt,OpenMode.random,,,Reclenght)

FileGet(FileNum,Aperson,1);

Console.WriteLine(Aperson.Id)

Console.WriteLine(Aperson.Name)

Console.WriteLine(Aperson.Sex)

Console.WriteLine(Aperson.MonthlySalary)

FileClose(FileNum)

 

写入记录:通过FilePut函数来替换已经存在的记录或新增记录

示例:写入五条记录到文件中:

自定义数据类型

Structure Person

   Public ID As Integer

   Public Name As String

End Structure

Sub WriteData()
   Dim MyRecord As Person
   Dim recordNumber As Integer    
''''   随机方式打开.
   FileOpen(1, "C:\example.txt", OpenMode.Binary)
   For recordNumber = 1 To 5   '''' 
      MyRecord.ID = recordNumber   '''' Define ID.
      MyRecord.Name = "My Name" & recordNumber   ''''创建一个字符串
      FilePut(1, MyRecord)   '''' 写入文件
   Next recordNumber
   FileClose(1)
End Sub

以上代码实现了随机访问的方式打开文件,并写入记录。

 

二进制文件的操作

打开要进行二进制访问的文件

FileOpen(FileNumber, FileName, OpenMode.Binary)

关闭要进行二进制访问的文件

FileClose(FileNumber)

如果保持较小的文件大小很重要,则采用二进制访问。因为二进制访问不要求固定长度的字段,所以类型声明可以省略字符串长度参数。这使得以通过生成变长记录来节省磁盘空间。使用二进制型访问的类型定义为:

Structure Person

   dim ID As Integer

dim Name As String

   dim MonthlySalary As Decimal 

   dim Sex As String

 End Structure

使用变长字段的二进制输入/输出的缺点是无法随机访问记录,而必须按顺序访问它们才能了解每条记录的长度。仍可直接转到文件中的指定字节位置,但是如果字段是变长的,则不知道哪个记录位于哪个字节处。

(部分翻译自MSDN)

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口