74 votes

Effacer le contenu d'un fichier texte en utilisant C#

Comment effacer le contenu d'un fichier texte en utilisant C# ?

3 votes

Si le fichier n'existe pas, voulez-vous une FileNotFoundException ?

0 votes

Var fileStream = File.Open("path", FileMode.Open) ; fileStream.SetLength(0) ;

184voto

SLaks Points 391154
File.WriteAllText(path, String.Empty);

Alternativement,

File.Create(path).Close();

4 votes

Wow, encore plus court que le mien ! +1

1 votes

Que voulez-vous dire par "plus court" que le vôtre ?

0 votes

@F4z : Beaucoup moins de caractères.

20voto

Dean Harding Points 40164

Il suffit d'ouvrir le fichier avec la fonction FileMode.Truncate puis le fermer :

using (var fs = new FileStream(@"C:\path\to\file", FileMode.Truncate))
{
}

5voto

womp Points 71924
 using (FileStream fs = File.Create(path))
 {

 }

Crée ou écrase un fichier.

2 votes

Puisqu'il n'y a pas de code dans le bloc, la fonction using n'offre aucun avantage par rapport à .Close() .

8 votes

Je suppose qu'il ferait quelque chose avec le fichier.

4voto

Nik Points 11

Vous pouvez effacer le contenu d'un fichier comme si vous écriviez le contenu du fichier mais en remplaçant les textes par "".

File.WriteAllText(@"FilePath", "");

2voto

KvanTTT Points 1060

Une autre version courte :

System.IO.File.WriteAllBytes(path, new byte[0]);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X