Postupy: Čtení z textových souborů s oddělovači v jazyce Visual Basic
Objekt TextFieldParser umožňuje snadnou a efektivní cestu k zpracování strukturovaných textový souborů, jakými jsou například protokoly.Vlastnost TextFieldType definuje, zda se jedná o soubor s oddělovači nebo s pevnou šířkou textových polí.
Chcete-li analyzovat textové soubory s oddělovači
Vytvořte nový TextFieldParser.Následující kód vytvoří TextFieldParser s názvem MyReader a otevře soubor test.txt.
Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")
Definujte typ TextField a oddělovač.Následující kód definuje vlastnost TextFieldType jako Delimited a oddělovač jako ",".
MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")
Projděte všechny pole v souboru.Pokud jsou řádky poškozeny, ohlaste chybu a pokračujte v analýze.Následující kód prochází soubor, zobrazení každé pole a zobrazí všechna pole, která jsou nesprávně formátovány.
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
Zavřete bloky While a Using pomocí End While a End Using.
End While End Using
Příklad
V tomto příkladu načteme soubor 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í případy mohou způsobit výjimku:
Řádek nelze analyzovat pomocí zadaného formátu (MalformedLineException).Zpráva výjimky určuje řádek, který způsobil vyjímku a vlastnost ErrorLine obsahuje text problémového řádku.
Zadaný soubor neexistuje (FileNotFoundException).
Situace částečné důvěryhodnosti, ve kterých uživatelský kód nemá dostatečná přístupová oprávnění 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é
Úkoly
Postupy: Čtení z textových souborů s pevnou šířkou v jazyce Visual Basic
Postupy: Čtení z textových souborů ve více formátech v jazyce Visual Basic
Návod: Práce se soubory a adresáři v jazyce Visual Basic
Řešení potíží: Čtení z textových souborů a zápis do nich (Visual Basic)
Řešení potíží s výjimkami: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException
Referenční dokumentace
Koncepty
Analýza textových souborů pomocí objektu TextFieldParser (Visual Basic)