加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VB学习之--打开/读取文本文件各种方法

(2007-11-23 15:34:00)
分类: 软件编程

打开文本文件各种方法

方法一:
用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:
Private Sub Command1_Cliack()
Dim sA As String * 65400 注释:声明定长String变量
Open "F:\d.txt" For Binary As #1 注释:用二进制打开文件
Get #1, , sA 注释:用Get语句从文件中获取字节
Text1 = sA 注释:显示打开的文件
Close #1 注释:关闭文件
End Sub

方法二:
先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:
Private Sub Command1_Click()
Dim sA As String
Open "f:\d.txt" For Binary As #1
sA = Space(LOF(1)) 注释:用空格填充sA变量
Get #1, , sA 注释:用Get语句获取文件全部内容
RichTextBox1.Text = sA
Close #1
End Sub

方法三:
用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子:
Private Sub Command1_Click()
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
End Sub

方法四:
用Shell语句直接调出Windows的记事本,给个文件名即可轻而易举地打开文本文件。此法适合于打开程序的Readme文件(注意:在可执行文件和要打开的文本文件之间要有空格):
Shell "NotePad.EXE f:\d.txt",vbNormalFucus

方法五:
用RichTextBox控件自身的LoadFile属性打开文件:
RichTextBox1.LoadFile "f:\d.txt", rtfText

---------------------------------------------------------------------
VB读取文本文件的例子:逐行读取

Private Sub Form_Load()
Dim data As String
Dim buffer As String
Open "d:\stud.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, buffer
data = data + buffer
Loop
Close #1
Text1.Text = buffer
End Sub


'清空dataa文件中的所有文本
Open "data\dataa.txt" For Output As #1
Close #1

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有