在 C# 中使用 File.Create() 解決檔案衝突
如果另一個進程已經在存取目標文件,則在 C# 中建立和寫入文件可能會導致錯誤。 即使在嘗試使用 File.Exists()
建立檔案之前使用 File.Create()
檢查預先存在的檔案時,這種情況也經常發生。 隨後的寫入操作(例如File.AppendText()
)會拋出異常。
常見的解決方案是在嘗試寫入之前關閉 FileStream
建立的 File.Create()
:
<code class="language-csharp">File.Create(filePath).Close(); File.WriteAllText(filePath, FileText); // Corrected to use filePath</code>
雖然這有效,但並不理想。 更有效率、更健壯的方法是直接使用 File.WriteAllText()
,它在內部處理文件創建和覆蓋:
<code class="language-csharp">File.WriteAllText(filePath, FileText);</code>
這種方法消除了明確文件建立和關閉的需要,提高了效能並簡化了程式碼。 File.WriteAllText()
如果文件不存在則建立該文件,如果存在則覆蓋它。 這通常是在 C# 中將文字寫入文件的首選方法。
以上是在 C# 中建立和寫入檔案時如何防止檔案衝突?的詳細內容。更多資訊請關注PHP中文網其他相關文章!