TextFieldParser.ReadFields, méthode
Mise à jour : novembre 2007
Lit tous les champs de la ligne en cours, les retourne sous la forme d'un tableau de chaînes et déplace le curseur sur la ligne suivante qui contient des données.
' Usage
Dim value As String() = TextFieldParserObject.ReadFields()
' Declaration
Public Function ReadFields() As String()
Valeur de retour
String ().
Exceptions
La condition ci-dessous peut lever une exception :
- Un champ ne peut pas être analysé à l'aide du format spécifié (MalformedLineException).
Notes
Pour que les utilisateurs puissent analyser des fichiers texte dans plusieurs formats, la méthode ReadFields examine les valeurs de TextFieldType, Delimiters et FieldWidths, si elles sont spécifiées, à chaque appel. Les utilisateurs doivent configurer correctement les propriétés TextFieldType et FieldWidths ou Delimiters, de la manière appropriée. Si TextFieldType a la valeur Delimited et Delimiters n'est pas défini, ou si TextFieldType a la valeur FixedWidth et FieldWidths n'est pas défini, une exception est levée.
Si ReadFields rencontre des lignes vides, elles sont ignorées et la prochaine ligne non vide est retournée.
Remarque : |
---|
Si la méthode ReadFields ne peut pas analyser la ligne en cours, elle lève une exception et ne passe pas à la ligne suivante. Cela permet à votre application d'essayer d'analyser de nouveau la ligne. |
Tâches
Le tableau suivant répertorie des exemples de tâches impliquant la méthode ReadFields.
Pour |
Consultez |
---|---|
Lire un fichier délimité |
Comment : lire des fichiers texte délimités par des virgules dans Visual Basic |
Lire un fichier à largeur fixe |
Comment : lire des fichiers texte de largeur fixe dans Visual Basic |
Exemple
Cet exemple utilise la méthode ReadFields pour lire le fichier ParserText.txt et écrire les champs dans Testfile.txt.
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\ParserText.txt")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {","}
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
For Each currentField As String In currentRow
My.Computer.FileSystem.WriteAllText _
("C://testfile.txt", currentField, True)
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & " is invalid. Skipping")
End Try
End While
End Using
Configuration requise
Espace de noms :Microsoft.VisualBasic.FileIO
Classe :TextFieldParser
Assembly : bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)
Autorisations
Les autorisations suivantes sont requises :
Autorisation |
Description |
---|---|
Énumération associée : Unrestricted. |
|
Énumération associée : ControlEvidence. |
Pour plus d'informations, consultez Sécurité d'accès du code et Demande d'autorisations.
Voir aussi
Tâches
Comment : lire des fichiers texte délimités par des virgules dans Visual Basic
Comment : lire des fichiers texte de largeur fixe dans Visual Basic
Comment : lire des fichiers texte avec plusieurs formats dans Visual Basic
Concepts
Analyse des fichiers texte avec l'objet TextFieldParser
Référence
TextFieldParser.TextFieldType, propriété
TextFieldParser.FieldWidths, propriété