Notes
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
vous permet d’analyser et de traiter des fichiers très volumineux qui sont structurés en colonnes de largeur délimitée de texte, telles que les fichiers journaux ou les informations de base de données héritées. L’analyse d’un fichier texte avec TextFieldParser
est similaire à l’itération sur un fichier texte, tandis que la méthode d’analyse pour extraire des champs de texte est similaire aux méthodes de manipulation de chaînes utilisées pour tokeniser les chaînes délimitées.
Analyse de différents types de fichiers texte
Les fichiers texte peuvent avoir des champs de différentes largeurs, délimités par un caractère tel qu’une virgule ou un espace d’onglet. Définissez TextFieldType
et le délimiteur, comme dans l’exemple suivant, qui utilise la SetDelimiters
méthode pour définir un fichier texte délimité par tabulation :
testReader.SetDelimiters(vbTab)
D’autres fichiers texte peuvent avoir des largeurs de champ fixes. Dans de tels cas, vous devez définir le TextFieldType
comme FixedWidth
et définir les largeurs de chaque champ, comme dans l’exemple suivant. Cet exemple utilise la SetFieldWidths
méthode pour définir les colonnes de texte : la première colonne est de 5 caractères, la seconde est 10, la troisième est 11 et la quatrième est de largeur variable.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Une fois le format défini, vous pouvez parcourir le fichier en boucle à l’aide de la ReadFields
méthode pour traiter chaque ligne à son tour.
Si un champ ne correspond pas au format spécifié, une MalformedLineException exception est déclenchée. Lorsque de telles exceptions sont levées, les ErrorLine
ErrorLineNumber
propriétés contiennent le texte à l’origine de l’exception et le numéro de ligne de ce texte.
Analyse de fichiers avec plusieurs formats
La PeekChars
méthode de l’objet TextFieldParser
peut être utilisée pour vérifier chaque champ avant de le lire, ce qui vous permet de définir plusieurs formats pour les champs et de réagir en conséquence. Pour plus d’informations, consultez Guide pratique pour lire à partir de fichiers texte avec plusieurs formats.