主题:如何随机读取*.txt中的数据?
wzly666
[专家分:0] 发布于 2010-01-21 15:34:00
软件目的:
假设某个*.txt文本文件中有100条数据,用软件随机读取其中的50条并存入新的*.txt文件中。
我是VB初学,在网上找了很多都没有这方面的。特前来求助各位大侠。
回复列表 (共1个回复)
沙发
天天学习 [专家分:4570] 发布于 2010-01-22 10:28:00
如果你的文件中的每条数据的长度是固定的,那么就好计算读取的位置;否则,只能一行一行读取,然后在读取的所有行中随机取50条。
[code=c]
Const REC_LEN As Integer = 36 '一条记录的长度
Dim strFile As String
Dim fNo As Integer
Dim i As Integer
Dim p As Integer
Dim strData() As String * REC_LEN
strFile = "e:\test.txt" '文件路径
ReDim strData(49) As String * REC_LEN
fNo = FreeFile()
Open strFile For Random As fNo Len = REC_LEN
For i = 0 To 49
p = Rnd() * 100
Get #fNo, p, strData(i)
Debug.Print strData(i)
Next
Close #fNo
或者用binary的方式
Dim strFile As String
Dim fNo As Integer
Dim i As Integer
Dim p As Integer
Dim strData() As String
Dim bytArr() As Byte
Const REC_LEN As Integer = 36
strFile = "e:\test.txt"
ReDim strData(49) As String
ReDim bytArr(REC_LEN - 1) As Byte
fNo = FreeFile()
Open strFile For Binary As fNo
For i = 0 To 49
p = Rnd() * 100
Get #fNo, REC_LEN * p + 1, bytArr()
strData(i) = StrConv(bytArr(), vbUnicode)
Debug.Print strData(i)
Next
Close #fNo
[/code]
我来回复