Heim > Backend-Entwicklung > C++ > Wie kann ich Dateikollisionen beim Erstellen und Schreiben von Dateien in C# verhindern?

Wie kann ich Dateikollisionen beim Erstellen und Schreiben von Dateien in C# verhindern?

Susan Sarandon
Freigeben: 2025-01-16 22:51:13
Original
881 Leute haben es durchsucht

How Can I Prevent File Collisions When Creating and Writing to Files in C#?

Dateikonflikte mit File.Create() in C# lösen

Das Erstellen und Schreiben von Dateien in C# kann zu Fehlern führen, wenn bereits ein anderer Prozess auf die Zieldatei zugreift. Dies tritt häufig auch dann auf, wenn Sie mit File.Exists() nach bereits vorhandenen Dateien suchen, bevor Sie versuchen, diese mit File.Create() zu erstellen. Der nachfolgende Schreibvorgang (z. B. File.AppendText()) löst dann eine Ausnahme aus.

Die übliche Lösung besteht darin, das von FileStream erstellte File.Create() zu schließen, bevor Sie versuchen zu schreiben:

<code class="language-csharp">File.Create(filePath).Close();
File.WriteAllText(filePath, FileText); // Corrected to use filePath</code>
Nach dem Login kopieren

Das funktioniert zwar, ist aber nicht ideal. Eine effizientere und robustere Methode ist die direkte Verwendung von File.WriteAllText(), das die Dateierstellung und das Überschreiben intern übernimmt:

<code class="language-csharp">File.WriteAllText(filePath, FileText);</code>
Nach dem Login kopieren

Dieser Ansatz macht das explizite Erstellen und Schließen von Dateien überflüssig, wodurch die Leistung verbessert und der Code vereinfacht wird. File.WriteAllText() erstellt die Datei, wenn sie nicht vorhanden ist, oder überschreibt sie, wenn sie vorhanden ist. Dies ist im Allgemeinen die bevorzugte Methode zum Schreiben von Text in Dateien in C#.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateikollisionen beim Erstellen und Schreiben von Dateien in C# verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage