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 poskytuje způsob, jak snadno a efektivně analyzovat strukturované textové soubory, jako jsou protokoly. Vlastnost TextFieldType definuje, zda se jedná o soubor s oddělovači nebo soubor s poli s pevnou šířkou textu.
Zpracování textového souboru odděleného čárkou
Vytvořte nové
TextFieldParser. Následující kód vytvoříTextFieldParserpojmenovanýMyReadera otevře soubortest.txt.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")TextFieldDefinujte typ a oddělovač. Následující kód definujeTextFieldTypevlastnost jakoDelimiteda oddělovač jako ",".MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")Opakovaně procházejte položky v souboru. Pokud jsou některé řádky poškozené, nahlaste chybu a pokračujte v analýze. Následující kód prochází souborem a zobrazuje jednotlivá pole a hlásí všechna pole, která jsou nesprávně naformátovaná.
Dim currentRow As String() While Not MyReader.EndOfData Try currentRow = MyReader.ReadFields() Dim currentField As String For Each currentField In currentRow MsgBox(currentField) Next Catch ex As Microsoft.VisualBasic. FileIO.MalformedLineException MsgBox("Line " & ex.Message & "is not valid and will be skipped.") End TryZavřete
WhileaUsingbloky sEnd WhileaEnd Using.End While End Using
Příklad
Tento příklad čte ze souboru test.txt.
Using MyReader As New Microsoft.VisualBasic.
FileIO.TextFieldParser(
"C:\TestFolder\test.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.
FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
"is not valid and will be skipped.")
End Try
End While
End Using
Robustní programování
Následující podmínky mohou způsobit výjimku:
Řádek nelze analyzovat pomocí zadaného formátu (MalformedLineException). Zpráva výjimky určuje řádek, který způsobuje výjimku, zatímco vlastnosti ErrorLine je přiřazen text obsažený v řádku.
Zadaný soubor neexistuje (FileNotFoundException).
Situace s částečnou důvěryhodností, ve které uživatel nemá dostatečná oprávnění pro přístup k souboru. (SecurityException).
Cesta je příliš dlouhá (PathTooLongException).
Uživatel nemá dostatečná oprávnění pro přístup k souboru (UnauthorizedAccessException).
Viz také
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Postupy: Čtení z textových souborů s pevnou šířkou
- Postupy: Čtení z textových souborů s více formáty
- Analýza textových souborů pomocí objektu TextFieldParser
- Návod: Manipulace se soubory a adresáři v jazyce Visual Basic
- Řešení potíží: Čtení z textových souborů a zápis do nich