Lire et écrire dans un fichier en C#
Les classes StreamReader et StreamWriter sont utilisées pour lire et écrire des données dans des fichiers texte. Ces classes héritent de la classe de base abstraite Stream, qui prend en charge la lecture et l’écriture des octets dans un flux de fichiers.
La classe StreamReader
La classe StreamReader hérite également de la classe de base abstraite TextReader pour la lecture des séries de caractères.
Exemple:
Le code suivant récupérer le contenu d’un fichier texte nommé myFile.txt.
using System; using System.IO; namespace WayToLearnX { class FileApp { static void Main(string[] args) { try { //Créez une instance de StreamReader pour lire à partir d'un fichier using (StreamReader sr = new StreamReader("c:/myFile.txt")) { string line; // Lire les lignes du fichier jusqu'à la fin. while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } } catch (Exception e) { Console.WriteLine("Le fichier n'a pas pu être lu."); Console.WriteLine(e.Message); } } } }
La classe StreamWriter
La classe StreamWriter hérite de la classe abstraite TextWriter qui permet d’écrire une série de caractères.
Exemple:
L’exemple suivant montre comment écrire des données texte dans un fichier à l’aide de la classe StreamWriter.
using System; using System.IO; namespace WayToLearnX { class FileApp { static void Main(string[] args) { string[] str = new string[] { "Lorem Ipsum", "Lorem Ipsum", "Lorem Ipsum", "Lorem Ipsum" }; using (StreamWriter sw = new StreamWriter("myFile.txt")) { foreach (string s in str) { sw.WriteLine(s); } } // Lire et afficher chaque ligne du fichier. string line = ""; using (StreamReader sr = new StreamReader("myFile.txt")) { while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } } } }
La sortie :
Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum