Modifier un fichier

Signaler
Messages postés
355
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
15 juin 2019
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
Salut tout le monde un petit problème me t'arrivé j'ai crée un fichier *.txt

FileInfo fl=new FileInfo(@"D:\lama.txt");
if(!(fl.exist))
{
fl.create();
}
StreamWrite wr=new SreamWrite(@"D:\lama.txt");
wr.WriteLine(TextBox1.Text);
wr.close();

le problème est que si j'essaie de modifier le contenu(Ajouter des écrits) il détruit ce qui était déjà

La Science est Grande et Vaste partageons cette connaisance

5 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Bonjour,

Utilise plutôt le constructeur suivant: FileStream(string, FileMode)
Avec le FileMode = FileMode.Append;

Bonne journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
97
Date d'inscription
mercredi 6 octobre 2010
Statut
Membre
Dernière intervention
5 juin 2015
3
bonjour,

tout simplement au debut met :
using System.IO;


ensuite met :

if(!File.Exists(@"D:\lama.txt")) {
   File.Create(@"D:\lama.txt");
}
else
{
   StreamReader rd = new StreamReader(@"D:\lama.txt");
   string tx1 = rd.RealAllText();
   rd.Close();
   StreamWriter wr = new StreamWriter(@"D:\lama.txt");
   wr.WriteLine(tx1);
wr.Close();
}
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Bonjour,

@zippedfire: c'est un peu prendre un marteau pour écraser une mouche ton code :)

Pourquoi se compliquer la vie alors que le code suivant suffit:
using(FileStream fs = new FileStream(@"D:\lama.txt", FileMode.Append))
{
  // TO DO: écrire...

  fs.Close();
}


Je rappelle que FileMode.Append créé le fichier s'il n'existe pas: il n'est donc pas nécessaire de passer par la vérification de l'existence de ce dernier.

Bonne journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
97
Date d'inscription
mercredi 6 octobre 2010
Statut
Membre
Dernière intervention
5 juin 2015
3
ok merci mais je n'utilise pas trop les FileStream et autres Streammachin jutilise plutot les stream reader & writer c plus simple
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Idem pour le StreamWriter :p
using(FileStream fs = new FileStream(@"D:\lama.txt", FileMode.Append))
{
  using (StreamWriter sw = new StreamWriter(fs))
  {
    // TO DO: écrire...
    sw.Close();
  }

  fs.Close();
}


Disons que c'est plus best-practice. Car si on suit ton raisonnement:
C'est un peu comme ci j'ouvrais un nouveau fichier texte dans lequel je copie/colle un fichier texte que j'aurais voulu modifier avec notepad ;p
Je chipote mais on est là pour ça :D

Bonne soirée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------