Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az TextFieldParser objektum segítségével könnyen és hatékonyan elemezheti a strukturált szövegfájlokat, például a naplókat. A TextFieldType tulajdonság meghatározza, hogy egy tagolt fájlról vagy rögzített szélességű szövegmezőkről van-e szó.
Vesszővel tagolt szövegfájl elemzése
Hozzon létre egy újat
TextFieldParser. Az alábbi kód létrehozza aTextFieldParsernévvel ellátottMyReaderfájlt, és megnyitja a fájlttest.txt.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")Adja meg a típust és a
TextFieldhatárolót. Az alábbi kód aTextFieldTypetulajdonságotDelimited"," néven, a határolót pedig ""-ként határozza meg.MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")A fájl mezőinek bejárása. Ha valamelyik sor sérült, jelentsen hibát, és folytassa az elemzést. A következő kód végigfut a fájlon, és megjeleníti az egyes mezőket, és jelentést készít a helytelenül formázott mezőkről.
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 TryZárja be a
WhileésUsingblokkokat aEnd WhileésEnd Usingelemekkel.End While End Using
példa
Ez a példa a fájlból test.txtolvas be.
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
Robusztus programozás
A következő feltételek kivételt okozhatnak:
Egy sor nem elemezhető a megadott formátum (MalformedLineException) használatával. A kivételüzenet a kivételt okozó sort adja meg, míg a ErrorLine tulajdonság a sor szövegéhez van rendelve.
A megadott fájl nem létezik (FileNotFoundException).
Részleges megbízhatósági helyzet, amelyben a felhasználó nem rendelkezik megfelelő engedélyekkel a fájl eléréséhez. (SecurityException).
Az elérési út túl hosszú (PathTooLongException).
A felhasználó nem rendelkezik megfelelő engedélyekkel a fájl (UnauthorizedAccessException) eléréséhez.
Lásd még
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Útmutató: Olvasás rögzített szélességű szövegfájlokból
- Útmutató: Olvasás több formátumot tartalmazó szövegfájlokból
- Szövegfájlok elemzése a TextFieldParser objektummal
- Útmutató: Fájlok és könyvtárak manipulálása a Visual Basicben
- Hibaelhárítás: Olvasás szövegfájlokból és írás szövegfájlokba