读取空白文本文件时出错?

Gop*_*pal 3 vb6

使用VB6

当我读取空白文本文件时,显示错误为输入过去文件结束

码.

Dim fso As FileSystemObject
Dim TS As TextStream
Dim TempS As String
Dim Final As String
Set fso = New FileSystemObject
Set TS = fso.OpenTextFile(txtSourceDatabaseFile & "\" & FileName, ForReading)
Final = TS.ReadAll
Do Until TS.AtEndOfStream
    TempS = TS.ReadLine
    Final = Final & TempS & vbCrLf
Loop
TS.Close
Run Code Online (Sandbox Code Playgroud)

如何检查文本文件是否为空?如果为空则无需读取内容,否则应读取内容.

需要VB6代码帮助

Chr*_*s J 8

你这样做:

Final = TS.ReadAll
Do Until TS.AtEndOfStream
    TempS = TS.ReadLine
    Final = Final & TempS & vbCrLf
Loop
Run Code Online (Sandbox Code Playgroud)

你应该在调用ReadAll之前检​​查AtEndOfStream,例如:

If TS.AtEndOfStream Then
   Final = ""
Else
    Final = TS.ReadAll
    Do Until TS.AtEndOfStream
        TempS = TS.ReadLine
        Final = Final & TempS & vbCrLf
    Loop
End If
Run Code Online (Sandbox Code Playgroud)

但是请注意,那里有一个逻辑错误:ReadAll会将整个文件读入内存.因此,随后调用ReadLine将不会返回任何内容.使用ReadAll并使用字符串操作解析输入,或者仅调用ReadLine.不要同时使用两者.