auflösende Dateikonflikte mit Datei.create () in C#
Erstellen und Schreiben in Dateien in C# kann zu Fehlern führen, wenn ein anderer Prozess bereits auf die Zieldatei zugreift. Dies geschieht oft auch bei Verwendung von Datei.exists ()
, um nach vorbestehenden Dateien zu überprüfen, bevor Sie versuchen, sie mit Datei.create ()
zu erstellen. Die nachfolgende Schreiboperation (z. B. File.AppendText ()
) löst dann eine Ausnahme aus.
Die gemeinsame Lösung beinhaltet das Schließen der fileStream
von file.create ()
Bevor Sie versuchen zu schreiben:
File.Create(filePath).Close();
File.WriteAllText(filePath, FileText); // Corrected to use filePath
Während dies funktioniert, ist es nicht ideal. Eine effizientere und robustere Methode besteht darin, File.WriteAlltext ()
direkt zu verwenden, die die Erstellung von Dateien und das Überschreiben intern behandelt:
File.WriteAllText(filePath, FileText);
Dieser Ansatz beseitigt die Notwendigkeit einer explizite Erstellung und Schließung von Dateien, Verbesserung der Leistung und der Vereinfachung des Code. file.writeAlltext ()
erstellt die Datei, wenn sie nicht existiert, oder überschreibt sie, wenn dies der Fall ist. Dies ist im Allgemeinen die bevorzugte Methode zum Schreiben von Text in Dateien in C#.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3