新疆软件开发

本站首页 软件开发 成功案例 公司新闻 公司简介 客服中心 软件技术 网站建设
  您现在的位置: 新疆二域软件开发公司 >> .Net技术 >> 文章正文

基础学习:VB.NET随机文件的操作方法

           访问文件中的字节构成相同的一些记录,每个记录包含一个或多个字段,对于一个字段的记录对应于任一标准类型,随机访问文件中的所有记录都必须具有相同长度,如果实际字符串包含的字符少于将它写入其中的字符串元素的固定长度,则 Visual Basic 用空白(字符代码 32)填充记录中的尾随空格。如果该字符串长于字段大小,则 Visual Basic 截断它。

示例:用户定义数据类型:
Structure Person
Public ID As Integer
Public MonthlySalary As Decimal
<VBFixedString(15)> Public Name As String
<VBFixedString(2)> Public Sex As String
End Structure
其中VBFixedString用于定义字符串为固定长度的字符串。
在打开一个文件进行随机操作访问前,应该定义一个类型该类型对应该文件已包含或未包含的记录。
打开要进行随机访问的文件:
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
以上代码实现了随机访问的方式打开文件,并写入记录。

 

     二进制文件的操作

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

作者:未知 | 文章来源:未知 | 更新时间:2008-1-15 16:40:44

  • 上一篇文章:

  • 下一篇文章:

  • 相关文章:
    如何在VB.net录入验证?
    基础学习:VB.NET顺序文件的操作方法
    VB.NET语法基础知识学习
    VB.NET完善的面向对象支持
    VB.NET对象的广泛应用
    VB.NET公共运行时的环境
    VB.NET字符数据类型和其他数据类型
    多线程技术在.net中是如何应用的
    软件技术
    · 开发语言
    · Java技术
    · .Net技术
    · 数据库开发
    最新文章  
    ·.net技术 asp.net MVC3 Vi
    ·.net将视频文件格式转换成
    ·NET Framework 2.0 Servic
    ·如何动态修改winform的app
    ·asp,net软件结构设计和相关
    ·学习怎样使用ASP.NET中的虚
    ·,net基础类的学习:system
    ·.net学习:c#事件的深入分
    ·Facade Pattern学习总结
    ·C#如何设置或者获取目录的
    ·如何使用XSL来定义ASP.NET
    ·理解WCF Data Contract契约
    ·如何能在.net2.0开发的控件
    ·模式怎样使用,讲解模式的
    ·如何解决Menu菜单被frame遮
    关于我们 | 软件开发 | 下载试用 | 客服中心 | 联系我们 | 友情链接 | 网站地图 | 新疆电子地图 | RSS订阅
    版权所有 © 2016 新疆二域软件开发网 www.k8w.net All Rights Reserved 新ICP备14003571号
    新疆软件开发总机:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆乌鲁木齐北京中路华联大厦A-5C 邮编:830000