Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Objektet TextFieldParser är ett sätt att enkelt och effektivt parsa strukturerade textfiler, till exempel loggar. Egenskapen TextFieldType definierar om det är en avgränsad fil eller en fil med textfält med fast bredd.
Så här parsar du en kommaavgränsad textfil
Skapa en ny
TextFieldParser. Följande kod skaparTextFieldParsermed namnetMyReaderoch öppnar filentest.txt.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")TextFieldDefiniera typen och avgränsare. Följande kod definierarTextFieldTypeegenskapen somDelimitedoch avgränsare som ",".MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")Loopa igenom fälten i filen. Om några rader är skadade rapporterar du ett fel och fortsätter att parsa. Följande kod loopar genom filen, visar varje fält i tur och ordning och rapporterar eventuella fält som är felaktigt formaterade.
Dim currentRow As String() While Not MyReader.EndOfData Try currentRow = MyReader.ReadFields() Dim currentField As String For Each currentField In currentRow MsgBox(currentField) Next Catch ex As Microsoft.VisualBasic. FileIO.MalformedLineException MsgBox("Line " & ex.Message & "is not valid and will be skipped.") End TryStäng blocken
WhileochUsingmedEnd WhileochEnd Using.End While End Using
Exempel
Det här exemplet läser från filen test.txt.
Using MyReader As New Microsoft.VisualBasic.
FileIO.TextFieldParser(
"C:\TestFolder\test.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.
FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
"is not valid and will be skipped.")
End Try
End While
End Using
Robust programmering
Följande villkor kan orsaka ett undantag:
Det går inte att parsa en rad med det angivna formatet (MalformedLineException). Undantagsmeddelandet anger den rad som orsakar undantaget, medan ErrorLine egenskapen tilldelas texten som finns på raden.
Den angivna filen finns inte (FileNotFoundException).
En partiell förtroendesituation där användaren inte har tillräcklig behörighet för att komma åt filen. (SecurityException).
Sökvägen är för lång (PathTooLongException).
Användaren har inte tillräcklig behörighet för att komma åt filen (UnauthorizedAccessException).