====== Accéder aux fichiers en C# ====== ===== Lire un fichier ===== string fileName; string fileContent; // On interdit la sélection de plusieurs fichiers. openFileDialog1.Multiselect = false; // On supprime le nom de fichier, qui ici vaut "openFileDialog1" (avant sélection d'un fichier). openFileDialog1.FileName = string.Empty; // On met des filtres pour les types de fichiers : "Nom|*.extension|autreNom|*.autreExtension" (autant de filtres qu'on veut). openFileDialog1.Filter = "Fichiers texte|*.txt|Tous les fichiers|*.*"; // Le filtre sélectionné : le 2e (là on ne commence pas à compter à 0). openFileDialog1.FilterIndex = 2; // On affiche le dernier dossier ouvert. openFileDialog1.RestoreDirectory = true; // Si l'utilisateur clique sur "Ouvrir"... if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { // On récupère le nom du fichier. fileName = openFileDialog1.FileName; Stream myStream = openFileDialog1.OpenFile(); if (myStream != null) { using (myStream) { using (StreamReader reader = new StreamReader(myStream, Encoding.UTF8)) { fileContent = reader.ReadToEnd(); } } } } // En cas d'erreur... catch (Exception ex) { MessageBox.Show("Une erreur est survenue lors de l'ouverture du fichier : {0}.", ex.Message); } } ===== Ecrire dans un fichier ===== saveFileDialog1.Filter = "Fichiers texte|*.txt|Tous les fichiers|*.*"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { try { Stream myStream = saveFileDialog1.OpenFile(); if (myStream != null) { using (myStream) { using (StreamWriter writer = new StreamWriter(myStream, Encoding.UTF8)) { writer.Write(fileContent); } } } } catch (Exception ex) { MessageBox.Show("Une erreur est survenue lors de l'écriture du fichier: {0}.", ex.Message); } }