Analýza textové soubory s objektem TextFieldParser (Visual Basic)
Objekt TextFieldParser umožňuje analyzovat a zpracovat velmi velké soubory, které mají strukturu textu o omezené velikosti sloupce, jako například protokolové soubory nebo databázové informace staršího typu.Analýza textových soubor pomocí TextFieldParser je podobná procházení textového souboru po řádcích a metoda extrahování políček z textu je podobná manipulačním metodám s řetězci, které používají řetězce omezené symbolem.
Analýza různých typů textových souborů
Textové soubory mohou mít různou šířku, oddělenou jinými znaky, například čárkou nebo tabulátorem.Definujte TextFieldType a oddělovače, stejně jak je to provedeno v následujícím příkladu, který používá metodu SetDelimiters k definování souboru s textem odděleným tabulátory:
testReader.SetDelimiters(vbTab)
Jiné textové soubory mohou mít šířku polí, které jsou pevné.V takových případech je třeba definovat TextFieldType jako FixedWidth a určit šířku každého pole, jak je to ukázáno v následujícím příkladu.V tomto příkladu SetFieldWidths způsob definování sloupců textu: první sloupec je široké 5 znaků, druhý je 10, třetí je 11 a čtvrtý je proměnné šířky.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Po definování formátu lze procházet ve smyčce soubor pomocí metody ReadFields zpracovávat každý řádek.
Pokud pole neodpovídá zadaném formátu, vyjímka MalformedLineException je vyvolána.V případě, že je vyvolána vyjímka, vlastnost ErrorLine a ErrorLineNumber obsahuje text, který způsobuje výjimku a číslo řádky tohoto textu.
Analýza souborů s více formáty
Metodu PeekChars objektu TextFieldParser lze použít ke kontrole každého pole před přečtením, což vám umožňuje definovat více formátů pro pole a odpovídajícím způsobem reagovat.Další informace naleznete v tématu Jak: čtení z textových souborů s více formáty jazyka Visual Basic.