Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Objek TextFieldParser menyediakan cara untuk mengurai file teks terstruktur dengan mudah dan efisien, seperti log.
Properti TextFieldType menentukan apakah file yang diurai adalah file yang dibatasi atau yang memiliki bidang teks lebar tetap. Dalam file teks lebar tetap, bidang di akhir dapat memiliki lebar variabel. Untuk menentukan bahwa bidang di akhir memiliki lebar variabel, tentukan agar memiliki lebar kurang dari atau sama dengan nol.
Untuk mengurai file teks lebar tetap
Buat
TextFieldParserbaru . Kode berikut membuatTextFieldParserbernamaReaderdan membuka filetest.log.Using Reader As New Microsoft.VisualBasic. FileIO.TextFieldParser("C:\TestFolder\test.log")Tentukan
TextFieldTypeproperti sebagaiFixedWidth, menentukan lebar dan format. Kode berikut menentukan kolom teks; yang pertama adalah lebar 5 karakter, kedua 10, ketiga 11, dan keempat adalah lebar variabel.Reader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth Reader.SetFieldWidths(5, 10, 11, -1)Iterasi melalui kolom dalam file. Jika ada baris yang rusak, laporkan kesalahan dan lanjutkan penguraian.
Dim currentRow As String() While Not Reader.EndOfData Try currentRow = Reader.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 TryTutup blok
WhiledanUsingdenganEnd WhiledanEnd Using.End While End Using
Contoh
Contoh ini membaca dari file test.log.
Using Reader As New Microsoft.VisualBasic.FileIO.
TextFieldParser("C:\TestFolder\test.log")
Reader.TextFieldType =
Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Reader.SetFieldWidths(5, 10, 11, -1)
Dim currentRow As String()
While Not Reader.EndOfData
Try
currentRow = Reader.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
Pemrograman yang kuat
Kondisi berikut dapat menyebabkan pengecualian:
Baris tidak dapat diurai menggunakan format yang ditentukan (MalformedLineException). Pesan pengecualian menentukan baris yang menjadi penyebab pengecualian, sedangkan properti ErrorLine ditetapkan untuk teks yang terkandung dalam baris tersebut.
File yang ditentukan tidak ada (FileNotFoundException).
Situasi kepercayaan parsial di mana pengguna tidak memiliki izin yang memadai untuk mengakses file. (SecurityException).
Jalur terlalu panjang (PathTooLongException).
Pengguna tidak memiliki izin yang memadai untuk mengakses file (UnauthorizedAccessException).
Lihat juga
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Cara: Membaca Dari file teks Comma-Delimited
- Cara: Membaca Dari File Teks dengan Beberapa Format
- Mengurai File Teks dengan Objek TextFieldParser
- Panduan: Memanipulasi File dan Direktori di Visual Basic
- Pemecahan Masalah: Membaca dari dan Menulis ke File Teks