Ich habe ein ähnliches Problem wie StreamReader ReadLine returns null when not EOF, die ich nicht herausfinden kann. Der Code ist nicht kompliziert, so ich denke, wenn es wirklich nötig ist:streamreader readline gibt nichts zurück, wenn nicht eof
Dim myFile As StreamReader
If Not myFile.EndOfStream Then
'Ignore header
myFile.ReadLine()
Dim line As Integer = 0
Do Until myFile.EndOfStream
line += 1
Dim currentLine = myFile.ReadLine()
'At the point line = 4 currentLine is Nothing - why??
processLine(currentLine)
Loop
End If
Ich kann Ihnen garantieren, dass die Datei viele mehr Zeilen enthält, die 4 und keine Zeile leer ist. Die Datei ist eine Bar ('|') mit Trennzeichen versehene Textdatei (* .txt) mit 250 Spalten darin und wie die Datei erstellt wird, stelle mir diese Frage nicht. Alles, was ich sagen kann, hatte ich bis vor kurzem noch nie ein Problem mit dieser problematischen Datei, also wie kann ich feststellen, was das Problem ist. Ich habe die Datei in NotePad ++ geöffnet und alles scheint in Ordnung zu sein. Die Konsequenz, dass die Datei korrupt ist, wenn ich richtig liege, ist, dass das Programm eine Ausnahme auslöst, da die Prozessfunktionen davon ausgehen, dass es nicht leer ist oder wenn ich leere Zeilen ignoriere, so dass mein Code in eine Endlosschleife geht.
Außerdem beachte ich, dass ich tatsächlich versuche, Legacy-Code (classic asp) zu bearbeiten, also muss ich es zurück in Vbscript übersetzen, wenn ich fertig bin, die ein TextStream-Objekt verwendet, das dem Code ähnlich ist, den ich nicht will um es zu kompliziert zu machen, also keine schicken .NET-Framework-Aufrufe. Ich benutzte .NET, um es zu debuggen.
Der Code, den Sie haben und das Problem, das Sie nichts bekommen haben mit klassischen zu tun ASP, Punkt. Wenn Sie es in Zukunft in einen klassischen ASP konvertieren möchten, geben Sie eine neue Frage ein. Das Tag hier ist ** ungültig **./cc @Lankymart –