Écrivez la chaîne dans le fichier texte et assurez-vous qu'elle écrase toujours le contenu existant.

180

J'ai une chaîne avec un programme C # que je veux écrire dans un fichier et toujours écraser le contenu existant. Si le fichier n'est pas là, le programme doit créer un nouveau fichier au lieu de lever une exception.

Léora
la source

Réponses:

371
System.IO.File.WriteAllText (@"D:\path.txt", contents);
  • Si le fichier existe, cela l'écrase.
  • Si le fichier n'existe pas, cela le crée.
  • Veuillez vous assurer que vous disposez des privilèges appropriés pour écrire à l'emplacement, sinon vous obtiendrez une exception.
Hemant
la source
32

Utilisez la File.WriteAllTextméthode. Il crée le fichier s'il n'existe pas et l'écrase s'il existe.

Guffa
la source
ah. si simple et utile.
Zach Smith
2

Généralement, FileMode.Createc'est ce que vous recherchez.

Thomas Danecker
la source
Il demande qu'un fichier existant soit remplacé
sino
0

Si votre code ne nécessite pas que le fichier soit d'abord tronqué, vous pouvez utiliser FileMode.OpenOrCreate pour ouvrir le flux de fichiers, qui créera le fichier s'il n'existe pas ou l'ouvrira s'il existe. Vous pouvez utiliser le flux pour pointer vers l'avant et commencer à écraser le fichier existant?

Je suppose que vous utilisez un flux ici, il existe d'autres façons d'écrire un fichier.

Spence
la source