jeudi 13 juin 2013

La lecture d'un texte fichier ligne par ligne

Bien souvent, vous ne voulez pas lire l'ensemble du dossier à la fois. Vous voulez lire ligne par ligne. Dans ce cas, au lieu d'utiliser la méthode ReadToEnd, comme nous l'avons fait dans la section précédente , vous pouvez utiliser la méthode ReadLine:
La méthode ReadLine, comme son nom l'indique, lit le texte d'une ligne à la fois. Pour ce faire, cependant, vous avez besoin d'utiliser une boucle. Vous pouvez ensuite boucle autour de chaque ligne et de lire dans une variable. Voici un exemple de codage:
TextLine Dim As String
Do While objReader.Peek () <> -1
TextLine TextLine = & objReader. ReadLine () & vbNewLine
Boucle
La première ligne de la boucle Do While est assez curieux:
Do While objReader.Peek () <> -1
La méthode Peek prend un coup d'oeil aux caractères de texte entrants. C'est dans la perspective d'un caractère à la fois. Si elle ne voit pas plus de caractères, il retournera une valeur de moins 1. Cela signifie la fin du fichier de texte. Notre boucle vérifie pour cette moins 1, et renfloue quand Peek a cette valeur.
A l'intérieur de la boucle, on la lecture de chaque ligne à partir du fichier de texte et la mise en nouvelle variable. (Nous ajoutons également un caractère de nouvelle ligne à la fin. Supprimer le & vbNewLine et voir ce qui se passe).
objReader.ReadLine ()
Ainsi, la méthode ReadLine lit chaque ligne pour vous, au lieu de la méthode ReadToEnd qui obtient la totalité du fichier texte.
Une fois que vous avez une ligne de texte dans votre variable, cependant, c'est à vous de l'analyser. Par exemple, supposons que la ligne de texte à venir à partir du fichier texte était le suivant:
"UserName1, Password1, UserName2, Password2"
Vous auriez alors à couper la ligne vers le bas et faire quelque chose qui chaque segment. VB ne le fera pas pour vous! (Mais vous avez vu comment faire cela dans la dernière section, lorsque vous utilisez des choses comme de Split et Substring .)
Mais ce que vous faites dans la boucle DO est mise en place la variable avec des lignes de texte qui sont tirées à partir de votre fichier texte. Une fois que vous avez tiré tout le texte de votre fichier, vous pouvez le mettre dans la zone de texte. Voici notre programme une fois de plus, avec le nouveau code surligné en gras:
FILE_NAME As String = "C: \ Users \ Propriétaire \ Documents \ test.txt"
TextLine Dim As String
Si System.IO.File.Exists (FILE_NAME) = True Then
ObjReader As New System.IO.StreamReader (FILE_NAME)
Do While objReader.Peek () <> -1
TextLine TextLine = & objReader.ReadLine () & vbNewLine
Boucle
TextBox1.Text = TextLine
Else
MsgBox ("Le fichier n'existe pas")
End If
Donc, à l'intérieur de la boucle, nous allons tour construire la variable TextLine. Une fois que tout le fichier a été lu (quand Peek () a une valeur de -1), puis nous plaçons dans Textbox1.
Dans la partie suivante, vous allez apprendre à écrire dans un fichier texte.

0 commentaires:

Enregistrer un commentaire