jeudi 13 juin 2013

Comment ouvrir un fichier texte en VB. NET

La possibilité d'ouvrir un fichier texte et de lire son contenu peut être très utile pour vous dans votre vie de programmation. Vous pourriez avoir un fichier texte contenant des questions de quiz et de réponses, par exemple. Vous pouvez lire les questions et réponses à partir d'un fichier texte et de créer votre propre "Qui veut être un millionnaire" match. Ou vous pouvez choisir d'enregistrer certaines données associées à votre programme, puis ouvrez-le de nouveau lorsque le programme démarre. Eh bien voir comment ouvrir un fichier texte en VB. NET en ce moment. Dans une autre section, vous apprendrez comment enregistrer des données dans un fichier texte.


Pour ouvrir un fichier texte, vous devez créer ce qu'on appelle un "StreamReader". Il s'agit, comme son nom l'indique, se lit flux de texte. Le StreamReader est un objet disponible pour System.IO. Vous créez un StreamReader comme ça (si vous avez Windows XP, vous pouvez simplement utiliser C: \ test.txt la place du nom de fichier plus long que nous utilisons pour ces tutoriels de fichiers texte):
FILE_NAME As String = "C: \ Users \ Propriétaire \ Documents \ test.txt"
ObjReader As New System.IO. StreamReader (FILE_NAME)
La première ligne définit simplement une variable de type chaîne appelée FILE_NAME. Nous conservons le chemin et le nom de notre fichier texte à l'intérieur de la variable de type chaîne:
= "C: \ Users \ Propriétaire \ Documents \ test.txt"
Nous disons qu'il s'agit d'un fichier texte appelé test qui est à l'emplacement (chemin) "C: \".
Vous mettez en place le StreamReader être une variable, tout comme une chaîne ou variable Integer. Mais nous mettons en place cette variable différemment:
ObjReader As New System.IO. StreamReader (FILE_NAME)
Nous avons appelé le objReader variable. Puis, après le "As" mot vient "Nouveau". Cela signifie "créer un nouvel objet". Le type d'objet que nous voulons créer un objet StreamReader:
System.IO.StreamReader
Sysytem est l'objet principal. IO est un objet à l'intérieur du système. Et StreamReader est un objet dans IO.
StreamReader besoin du nom d'un fichier à lire. Cela passe entre une paire de parenthèses:
System.IO.StreamReader (FILE_NAME)
VB sera alors attribuer tout cela à l'appelé objReader variable. Donc, au lieu d'attribuer dire 10 à une variable Integer, vous affectez un StreamReader à une variable.

Lire jusqu'à la fin

Mais ce ne sera pas vous faire du bien. Nous n'avons pas vraiment encore ouvert le fichier texte. Nous venons dit VB où le fichier texte est et quel objet pour l'ouvrir avec. Vous faites l'ouverture comme ceci:
TextBox1.Text = objReader. ReadToEnd
Maintenant que objReader est une variable objet, il possède ses propres propriétés et méthodes disponibles pour une utilisation (de la même façon que la zone de texte a une propriété Text).
Une des méthodes disponibles à notre nouvelle variable StreamReader est la méthode ReadToEnd. Cela va lire l'intégralité de votre texte, jusqu'à la fin. Nous sommes alors éclater cela dans une zone de texte.
Testons tout cette théorie. Procédez comme suit:
  • Démarrer un nouveau projet
  • Ajouter une zone de texte de votre nouvelle forme, et il suffit de laisser le nom par défaut de Textbox1
  • Définissez sa propriété MultiLine sur True
  • Ajouter un bouton à votre formulaire
  • Double-cliquez sur le bouton et ajoutez le code suivant pour cela:
FILE_NAME As String = "C: \ Users \ Propriétaire \ Documents \ test.txt"
ObjReader As New System.IO. StreamReader (FILE_NAME)
TextBox1.Text = objReader. ReadToEnd
objReader. close ()
La dernière ligne ferme la StreamReader nous mettons en place. Vous devez fermer vos objets de flux après que vous les avez utilisés, sinon vous aurez des messages d'erreurs.
Lorsque vous avez terminé, lancez votre programme et cliquez sur votre bouton.
Sauf si vous avez déjà un fichier nommé test.txt à l'emplacement spécifié, vous obtenez ce message d'erreur surgissent:
Message d'erreur FileNotFound en VB NET
La dernière ligne orthographie clairement: Impossible de trouver le fichier "C: \ Users \ Propriétaire \ Documents \ test.txt". Donc, nous avons essayé de lire un fichier texte qui n'existe pas. 

Est-ce que le fichier existe?

Vous pouvez, cependant, un test pour voir si le fichier existe. Si c'est le cas, vous pouvez l'ouvrir, sinon, vous pouvez afficher un message d'erreur. Modifier votre code pour cette (les nouvelles lignes sont en gras):
FILE_NAME As String = "C: \ Users \ Propriétaire \ Documents \ test.txt"
Si System.IO.File.Exists (FILE_NAME) = True Then
ObjReader As New System.IO.StreamReader (FILE_NAME)
TextBox1.Text = objReader.ReadToEnd
objReader.Close ()
Else
MsgBox ("Le fichier n'existe pas")
End If>
Nous avons maintenant enveloppé notre code dans une instruction if. La première ligne de l'instruction if est la suivante:
Si System.IO. File.Exists (FILE_NAME) = True Then
Ce test pour voir si oui ou non un fichier existe. Encore une fois, vous commencez avec System.IO. Ensuite, vous accédez à un autre objet de System.IO - l'objet File. Cela a une méthode appelée existe. Entre les parenthèses, vous tapez le nom (ou variable) du fichier que vous voulez vérifier. La valeur renvoyée sera soit vrai (si elle n'existe) ou Faux (si elle ne fonctionne pas).
Si le fichier n'existe alors nous pouvons aller de l'avant et créer notre StreamReader, si elle ne fait pas, on peut afficher un message d'erreur pour l'utilisateur.
Pour que votre programme fonctionne, il ya un fichier appelé ci-dessous "test.txt". Télécharger ce à votre ordinateur, que ce soit dans le principal dossier C: \ pour les utilisateurs de XP, ou le dossier Documents si vous avez Vista/Windows7.
Lorsque vous avez fait cela, relancez votre programme. Cliquez sur le bouton une fois de plus, et vous devriez voir le texte de votre fichier apparaît dans la zone de texte. (Si vous obtenez le message d'erreur réapparaît, cela signifie que vous n'avez pas copié le fichier au bon endroit.)
Dans la prochaine partie, nous verrons comment lire la ligne de contenu par ligne, au lieu de tout en une seule fois.


0 commentaires:

Enregistrer un commentaire