Sdílet prostřednictvím


Analýza textových souborů 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 je použita metoda SetFieldWidths k definování textových sloupců: první sloupec je 5 znaků široký, 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 Postupy: Jak číst z textových souborů o více formátech v jazyce Visual Basic.

Viz také

Úkoly

Troubleshooting Exceptions: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Odkaz

OpenTextFieldParser

TextFieldParser

PeekChars

ReadFields

CommentTokens

Delimiters

ErrorLine

ErrorLineNumber

FieldWidths

HasFieldsEnclosedInQuotes

LineNumber

TextFieldType

TrimWhiteSpace

SetDelimiters

SetFieldWidths