Salut Les Amis![]()
comment peut-on ecrire dans fichier (notepad) text, mais l'ecriture sera la ligne nouveau au debut du fichier et non pas a la fin , qlq un a un idee?
Merci d'avance![]()
![]()
Salut Les Amis![]()
comment peut-on ecrire dans fichier (notepad) text, mais l'ecriture sera la ligne nouveau au debut du fichier et non pas a la fin , qlq un a un idee?
Merci d'avance![]()
![]()
Salut, pas trouvé de réponse directe dans la classe System.IO.File, par contre, tu peux gérer ca en manipulant les Streams :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 using (var stream = File.Open(@"C:\monfichier.txt", FileMode.OpenOrCreate)) { using (var writer = new StreamWriter(stream)) { stream.Position = 0; writer.WriteLine("la ligne à écrire en premier"); writer.Flush(); } }
Bonjour,
Il me semble (sauf erreur) que ceci efface le reste du contenu (ou au moins écrase les premiers caractères pour remplacer par la ligne insérée).
Il n'y a pas de miracle, pour ceci il faut écrire la ligne à insérer, puis recopier le reste du fichier original.
Voici comment je ferais, tout en minimisant la mémoire utilisée (en évitant de charger tout le fichier en mémoire) :
Cordialement !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 string tmpPath = Path.GetTempFileName(); using (var reader = new StreamReader(srcPath)) using (var writer = new StreamWriter(tmpPath)) { writer.WriteLine("la ligne à écrire en premier"); while (!reader.EndOfStream) { writer.WriteLine(reader.ReadLine()); } } File.Copy(tmpPath, srcPath, true); File.Delete(tmpPath);
Bah, si tu penses que ca peut etre mieux de le gérer comme ca, fonce, ceci dis, après un test rapide sur un fichier texte, je te confirme que ca fait bien de l'insertion
Après, je suis pas vraiment un spécialiste du Stream XD
Dans tous les cas, bon courage !![]()
Merci Pour vous
Mr.Sehnsucht , j'ai bienne remarque l'erreur que les premiers caracteres sont effaces !! mais pourquoi ?
j'utilise maitenant ta methode elle marche bienne
merci beaucoups
![]()
Bien vu, j'étais complètement passé à coté O_O
Merci pour l'info, c'est bon a prendre pour l'avenir![]()
Partager