LECTURE ET ECRITURE DE FICHIERS
Pour rendre ces extraits de code utilisable il faut penser à ajouter cet import :
Imports System.IO
L'objet "File" permet d'accomplir facilement des opérations, aussi bien en lecture qu'en écriture, sur les fichiers textes ou binaires. Cette méthode est l'une des nombreuses nouveauté intéressantes ajoutées par le .Net 2.0.
ECRITURE D'UN FICHIER TEXTE
La méthode WriteAllText permet l'écriture d'un fichier en mode texte.
'Ce code va créer un fichier texte nommé testFichierTexte à la racine du c:\ et y inscrire Test d'écriture dans un fichier texte
Dim str_texte as string = "Test d'écriture dans un fichier texte"
File.WriteAllText("c:\testFichierTexte.txt", str_texte)
_________________________________________________________________________________
La méthode AppendAllText permet d'ajouter du texte dans un fichier existant ou de le créer s'il n'existe pas :
'Ce code va rajouter "Cette ligne a été rajouté par la méthode AppendAllText" dans le fichier texte créé précédement
File.AppendAllText("c:\testFichierTexte.txt", "Cette ligne a été rajouté par la méthode AppendAllText")
LECTURE D'UN FICHIER TEXTE
Nous allons maintenant lire ce même fichier texte et importer le résultat dans une variable :
Dim str_texte as string
str_texte = File.ReadAllText("c:\testFichierTexte.txt")
EXEMPLE UTILISANT LA LECTURE ET L'ECRITURE
Nous allons lire un fichier texte puis en supprimer les lignes en trop
'Lit le fichier texte et le stocke dans un tableau
Dim str_lignes() As String = File.ReadAllLines("c:\origine.txt")
Dim int_compteur As Integer = 0
Dim int_i As Integer = 0
'Supprime les lignes vides en remontant les lignes non vides
For int_i = 0 To str_lignes.length - 1
If str_lignes(int_i).Trim.Length > 0 Then
str_lignes(int_compteur) = str_lignes(int_i)
int_compteur +=1
End If
Next
'Supprime les lignes en trop et stocke le tout dans un nouveau fichier
ReDim Preserve str_lignes(int_compteur - 1)
File.WriteAllLines("c:\destination.txt", str_lignes)
Voilà. En ésperant pouvoir vous aider. J'attends vos remarques, précisions...