Analýza textových souborů pomocí objektu TextFieldParser (Visual Basic)
Objekt TextFieldParser
umožňuje analyzovat a zpracovávat velmi velký soubor, který je strukturovaný jako sloupce s oddělovači textu, jako jsou soubory protokolů nebo starší informace o databázi. Analýza textového souboru TextFieldParser
se podobá iteraci textového souboru, zatímco metoda analýzy extrahování polí textu je podobná metodám manipulace s řetězci, které se používají k tokenizaci řetězců s řetězcovými řetězci.
Analýza různých typů textových souborů
Textové soubory můžou mít pole s různou šířkou oddělenou znakem, například čárkou nebo mezerou tabulátoru. Definujte TextFieldType
a oddělovač, jako v následujícím příkladu, který pomocí SetDelimiters
metody definuje textový soubor oddělený tabulátorem:
testReader.SetDelimiters(vbTab)
Jiné textové soubory můžou mít pevné šířky polí. V takových případech musíte definovat TextFieldType
šířky FixedWidth
jednotlivých polí a definovat je jako v následujícím příkladu. Tento příklad používá metodu SetFieldWidths
k definování sloupců textu: první sloupec je široký 5 znaků, druhý je 10, třetí je 11 a čtvrtý je proměnlivá šířka.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Jakmile je formát definovaný, můžete soubor procházet pomocí ReadFields
metody pro zpracování jednotlivých řádků.
Pokud pole neodpovídá zadanému formátu, vyvolá MalformedLineException se výjimka. Pokud jsou takové výjimky vyvolány, ErrorLine
text a ErrorLineNumber
vlastnosti obsahují text, který způsobuje výjimku, a číslo řádku daného textu.
Analýza souborů s několika formáty
PeekChars
Metodu objektu TextFieldParser
lze použít ke kontrole každého pole před jeho přečtením, což vám umožní definovat více formátů polí a odpovídajícím způsobem reagovat. Další informace naleznete v tématu Postupy: Čtení z textových souborů s více formáty.