Guide pratique pour lire des fichiers texte délimités par des virgules en Visual Basic
L’objet TextFieldParser
permet d’analyser facilement et efficacement les fichiers texte structurés, tels que les journaux. La propriété TextFieldType
définit s’il s’agit d’un fichier délimité ou d’un fichier avec des champs de texte de longueur fixe.
Pour analyser un fichier texte délimité par des virgules
Créez un
TextFieldParser
. Le code suivant crée leTextFieldParser
nomméMyReader
et ouvre le fichiertest.txt
.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")
Définissez le type
TextField
et le séparateur. Le code suivant définit la propriétéTextFieldType
commeDelimited
et le délimiteur comme ",".MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")
Parcourez les champs du fichier à l’aide d’une boucle. Si des lignes sont endommagées, signalez une erreur et poursuivez l’analyse. Le code suivant parcourt le fichier à l’aide d’une boucle, affiche chaque champ l’un après l’autre et signale les champs dont le format n’est pas valide.
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
Fermez les blocs
While
etUsing
avecEnd While
etEnd Using
.End While End Using
Exemple
Cet exemple lit le fichier 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
Programmation fiable
Les conditions ci-dessous peuvent générer une exception.
Une ligne ne peut pas être analysée à l’aide du format spécifié (MalformedLineException). Le message d’exception spécifie la ligne qui provoque l’exception, tandis que la propriété ErrorLine est assignée au texte contenu dans la ligne.
Le fichier spécifié n’existe pas (FileNotFoundException).
Situation de confiance partielle dans laquelle l’utilisateur ne dispose pas des autorisations suffisantes pour accéder au fichier (SecurityException).
Le chemin est trop long (PathTooLongException).
L’utilisateur ne dispose pas des autorisations suffisantes pour accéder au fichier (UnauthorizedAccessException).
Voir aussi
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Procédure : lire des fichiers texte de largeur fixe
- Procédure : lire des fichiers texte avec plusieurs formats
- Analyse des fichiers texte avec l'objet TextFieldParser
- Procédure pas à pas : manipulation de fichiers et de répertoires en Visual Basic
- Résolution des problèmes : lecture et écriture dans des fichiers texte