Visual Basic.Net中的文件操作(3)

  • 摘要:本文详细介绍了Visual Basic.Net中的三种访问文件系统的方法:1、顺序文件的操作;2、随机文件的操作;3、二进制文件的操作。还配以简单的程序代码供参考!
  • 标签:VB  .Net  文件

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

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

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

FileNumber和FileName分别指定要打开的文件的编号和文件名。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

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

3.二进制文件的操作

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

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

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

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



共3页: 上一页 [1] [2] 3
【内容导航】
赛门铁克诺顿误杀Windows系统文件 导致百万系统崩溃
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Linux C编程实战

  • 作者:童永清
  • 本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,集趣味性、实战性于一体的160多段代码实例,帮助读者快速掌握在Linu..
Copyright©2005-2008 51CTO.COM 版权所有