我正在研究VB Script,我正在尝试读取txt文件并在数组中将其疼痛。 我检查行数并将该变量用于For循环。
我收到错误输入文件结尾。 我不知道如何解决这个问题。
期待您的帮助。
谢谢!
Dim num As Integer
'Skip lines one by one
Do While objTextFile.AtEndOfStream <> True
objTextFile.SkipLine ' or strTemp = txsInput.ReadLine
Loop
num = objTextFile.Line - 1
Dim para()
ReDim para(num)
For i = 1 To num
para(i) = objTextFile.ReadLine
Next
答案 0 :(得分:2)
有两个原因(如果你修复了第一个,第二个进入intp):
您可以一次性读取这些行并将它们放入数组中:
Dim para()
Dim num As Integer = 0
Do While Not objTextFile.AtEndOfStream
ReDim Preserve para(num)
para(num) = txsInput.ReadLine
num = num + 1
Loop
注意:数组是基于零的,上面的代码将第一行放在索引0处。如果从索引1开始放置数据(如在原始代码中),则不使用第一个项目,并且必须在使用数组时继续跳过第一项。
我发现您在代码中将125
更改为num
,这将解决第二个问题。
答案 1 :(得分:0)
我使用了以下样式代码,对于小文件来说速度很快:
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(strList, ForReading)
strText = objTextFile.ReadAll
objTextFile.Close
arrList = Split(strText, vbCrLf)