Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’objet TextFieldParser permet d’analyser facilement et efficacement les fichiers texte structurés, tels que les journaux d’activité. La TextFieldType propriété définit s’il s’agit d’un fichier délimité ou d’un fichier avec des champs de texte à largeur fixe.
Pour analyser un fichier texte délimité par des virgules
Créez un élément
TextFieldParser. Le code suivant crée leTextFieldParsernomMyReaderet ouvre le fichiertest.txt.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")Définissez le type et le
TextFielddélimiteur. Le code suivant définit laTextFieldTypepropriété commeDelimitedet le délimiteur comme « , ».MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")Effectuez une boucle dans les champs du fichier. Si des lignes sont endommagées, signalez une erreur et poursuivez l’analyse. Le code suivant effectue une boucle dans le fichier, affichant chaque champ à son tour et signalant les champs mis en forme de manière incorrecte.
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 TryFermez les
WhileblocsUsingavecEnd WhileetEnd Using.End While End Using
Exemple :
Cet exemple lit à partir du 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 suivantes peuvent entraîner 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 à l’origine de l’exception, tandis que la ErrorLine propriété reçoit le 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 d’accès est trop long (PathTooLongException).
L’utilisateur ne dispose pas des autorisations suffisantes pour accéder au fichier (UnauthorizedAccessException).
Voir aussi
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Guide pratique pour lire à partir de fichiers texte à largeur fixe
- Guide pratique pour lire des fichiers texte avec plusieurs formats
- Analyse de 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