Résoudre les conflits de fichiers avec File.Create() en C#
La création et l'écriture de fichiers en C# peuvent entraîner des erreurs si un autre processus accède déjà au fichier cible. Cela se produit souvent même lorsque vous utilisez File.Exists()
pour vérifier les fichiers préexistants avant d'essayer de les créer avec File.Create()
. L'opération d'écriture suivante (par exemple, File.AppendText()
) lève alors une exception.
La solution courante consiste à fermer le FileStream
créé par File.Create()
avant de tenter d'écrire :
<code class="language-csharp">File.Create(filePath).Close(); File.WriteAllText(filePath, FileText); // Corrected to use filePath</code>
Bien que cela fonctionne, ce n'est pas idéal. Une méthode plus efficace et plus robuste consiste à utiliser File.WriteAllText()
directement, qui gère la création et l'écrasement des fichiers en interne :
<code class="language-csharp">File.WriteAllText(filePath, FileText);</code>
Cette approche élimine le besoin de création et de fermeture explicites de fichiers, améliorant ainsi les performances et simplifiant le code. File.WriteAllText()
créera le fichier s'il n'existe pas, ou l'écrasera s'il existe. Il s'agit généralement de la méthode préférée pour écrire du texte dans des fichiers en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!