如何一次读取一个文本文件?

ediex 2006-12-13 11:25:32
'数据保存部分

Open savedatafile For Output As #1
Do

readdata2 hdcUA300, iAdcData(0), perFram '读取数据至数组

For i = 0 To 576

Print #1, iAdcData(i)'保存数据到文件

Next i
DoEvents
Loop While (SystemSta.CardWorking)
Close #1


'数据加载部分
For i = 0 To UBound(iAdcData)
If Not EOF(1) Then
Line Input #1, strdata
iAdcData(i) = CInt(strdata)
end if
Next i

发现数据加载非常慢,一个几m的文件要等好几分钟,;《


请问如何一次把文件数据读到指定数组iAdcData?
...全文
192 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hebhd 2006-12-15
  • 打赏
  • 举报
回复
'=====================================================================
' 遍历 P_From_Path(源文件夹)内的 P_FileName(文件名) 的每一行数据,
' 并且TravelFileLineProcess处理得到的每一行的数据
'=====================================================================
Public Sub TravelFile()
'on error resume next
Dim intFileNum As Integer
Dim strCurrentLine As String
Dim strTemp As String
Dim arrayTemp() As String
Dim intTemp As Integer

strTemp = HouZi_From_Path
If Right(strTemp, 1) <> "\" Then strTemp = strTemp + "\"
If FileExists(strTemp + HouZi_FileName) = False Then
'文件已经不存在
Exit Sub
End If

intFileNum = FreeFile
Open strTemp + HouZi_FileName For Binary As #intFileNum
strTemp = Space(LOF(intFileNum))
Get intFileNum, , strTemp
Close #intFileNum

arrayTemp = Split(strTemp, vbCrLf)
If Not IsArrayEmpty(arrayTemp) Then
For intTemp = 0 To UBound(arrayTemp)
RaiseEvent TravelFileLineProcess(arrayTemp(intTemp), intTemp + 1)
Next
End If

End Sub

你自已变通一下吧
cangwu_lee 2006-12-15
  • 打赏
  • 举报
回复
使用二进制,可以分配比较大的缓存,速度应该快很多。
sstlwg 2006-12-15
  • 打赏
  • 举报
回复
一行一行的读取 …………










zsj1101 2006-12-13
  • 打赏
  • 举报
回复
一段一段的读取

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧