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);
}
}
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);
}
}