Porady: odczyt z rozdzielonych przecinkami plików testowych w Visual Basic
TextFieldParser Obiektu daje możliwość łatwego i efektywnego analizować pliki tekstowe strukturalne, takie jak dzienniki.TextFieldType Właściwość określa, czy jest plik rozdzielany lub o stałej szerokości pól tekstu.
Rozdzielić przecinkami rozdzielanego pliku tekstowego
Utwórz nowy TextFieldParser.Poniższy kod tworzy TextFieldParser o nazwie MyReader i otwiera plik test.txt.
Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")
Definiowanie TextField typu i ogranicznika.Poniższy kod definiuje TextFieldType właściwości jako Delimited i ogranicznika jako ",".
MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")
W pętli pól w pliku.Jeśli wszystkie wiersze są uszkodzone, Zgłoś błąd i kontynuować analizowania.Następujący kod w pętli przegląda plik z kolei wyświetlanie każdego pola i raportowania żadnych pól, które są niepoprawnie sformatowany.
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
Close the While and Using blocks with End While and End Using.
End While End Using
Przykład
W tym przykładzie odczytuje z pliku 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
Stabilne programowanie
Następujące warunki, może spowodować wyjątek:
Wiersza nie można analizować przy użyciu określonego formatu (MalformedLineException).Komunikat wyjątku Określa wiersz, powodując wyjątek, podczas gdy ErrorLine właściwość jest przypisany tekst znajdujący się w wierszu.
Określony plik nie istnieje (FileNotFoundException).
Sytuacja częściowego zaufania, użytkownik nie ma wystarczających uprawnień do uzyskania dostępu do pliku.(SecurityException).
Ścieżka jest zbyt długa (PathTooLongException).
Użytkownik nie ma wystarczających uprawnień do uzyskania dostępu do pliku (UnauthorizedAccessException).
Zobacz też
Zadania
Porady: odczyt z plików testowych o stałej szerokości w Visual Basic
Porady: odczyt z plików tekstowych w wielu formatach w Visual Basic
Wskazówki: manipulowanie plikami i katalogami w Visual Basic
Rozwiązywanie problemów: odczytywanie z oraz zapisywanie w plikach tekstowych (Visual Basic)
Informacje
Koncepcje
Analizowanie plików tekstowych za pomocą obiektu TextFieldParser (Visual Basic)