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 PeekChars
TextFieldParser
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).