Udostępnij za pomocą


Analizowanie plików tekstowych za pomocą obiektu TextFieldParser (Visual Basic)

Obiekt TextFieldParser umożliwia analizowanie i przetwarzanie bardzo dużych plików, które są ustrukturyzowane jako rozdzielane kolumny tekstu, takie jak pliki dziennika lub starsze informacje bazy danych. Analizowanie pliku tekstowego za pomocą TextFieldParser jest podobne do iterowania w pliku tekstowym, podczas gdy metoda analizowania w celu wyodrębniania pól tekstowych jest podobna do metod manipulowania ciągami używanych do tokenizowania ciągów rozdzielanych.

Analizowanie różnych typów plików tekstowych

Pliki tekstowe mogą mieć pola o różnej szerokości, rozdzielone znakami, takimi jak przecinek lub tabulator. Zdefiniuj TextFieldType i ogranicznik, tak jak w poniższym przykładzie, który używa SetDelimiters metody do zdefiniowania pliku tekstowego rozdzielanego tabulatorami:

testReader.SetDelimiters(vbTab)

Inne pliki tekstowe mogą mieć stałe szerokości pól. W takich przypadkach należy zdefiniować TextFieldType jako FixedWidth i zdefiniować szerokość każdego pola, jak w poniższym przykładzie. W tym przykładzie SetFieldWidths użyto metody do zdefiniowania kolumn tekstu: pierwsza kolumna ma szerokość 5 znaków, drugi to 10, trzeci to 11, a czwarty ma zmienną szerokość.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Po zdefiniowaniu formatu można wykonać pętlę przez plik, używając ReadFields metody do przetwarzania każdego wiersza po kolei.

Jeśli pole nie jest zgodne z określonym formatem, zostaje zgłoszony wyjątek MalformedLineException. Gdy takie wyjątki są zgłaszane, właściwości ErrorLine i ErrorLineNumber przechowują tekst powodujący wyjątek oraz numer wiersza tego tekstu.

Analizowanie plików w wielu formatach

Metoda PeekCharsTextFieldParser obiektu może służyć do sprawdzania każdego pola przed jego odczytaniem, co pozwala zdefiniować wiele formatów dla pól i odpowiednio zareagować. Aby uzyskać więcej informacji, zobacz How to: Read From Text Files with Multiple Formats (Instrukcje: odczytywanie z plików tekstowych z wieloma formatami).

Zobacz także