Udostępnij za pośrednictwem


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 TextFieldParser tekstowego za pomocą metody jest podobne do iterowania w pliku tekstowym, podczas gdy metoda analizowania w celu wyodrębniania pól tekstu jest podobna do metod manipulowania ciągami używanymi 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 znakiem, takim jak przecinek lub spacja tabulatora. 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, zgłaszany MalformedLineException jest wyjątek. Gdy takie wyjątki są zgłaszane, ErrorLine właściwości i ErrorLineNumber przechowują tekst powodujący wyjątek i 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 też