Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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. Parsování textového souboru s TextFieldParser se podobá iteraci přes textový soubor, zatímco metoda analýzy textu pro extrakci polí je podobná metodám manipulace s řetězci, které se používají k tokenizaci řetězců s oddělovači.
Analýza různých typů textových souborů
Textové soubory mohou obsahovat pole různé šířky, oddělená znakem, například čárkou nebo tabulátorem. 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 jako FixedWidth a stanovit šířky jednotlivých polí, jak je uvedeno 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á se MalformedLineException výjimka. Pokud jsou takové výjimky vyvolány, vlastnosti ErrorLine a ErrorLineNumber obsahují text, který způsobuje výjimku, a číslo řádku tohoto 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.