C#中刪除檔案和資料夾而不刪除根目錄
在C#中,可以實作刪除目錄中的所有檔案和資料夾,同時保留根目錄。當您需要清理目錄內容而不丟失目錄結構時,此技術非常有用。
一種方法是使用DirectoryInfo
類別:
<code class="language-csharp">System.IO.DirectoryInfo di = new DirectoryInfo("YourPath"); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }</code>
此程式碼首先為指定路徑建立一個DirectoryInfo
物件。然後,它使用GetFiles()
迭代目錄中的檔案並刪除每個檔案。隨後,它使用GetDirectories()
迭代目錄,並遞歸地(true
參數)刪除它們,以確保刪除所有內容。
對於包含大量檔案的目錄,為了提高效率,可以使用EnumerateFiles()
和EnumerateDirectories()
方法:
<code class="language-csharp">foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
EnumerateFiles()
和EnumerateDirectories()
允許部分枚舉,透過避免將整個集合載入記憶體中,使其對於大型目錄更有效率。
這兩種方法都能實現刪除指定目錄中所有檔案和資料夾,同時保留根目錄的目標。
以上是C# 如何在保留根目錄的情況下刪除檔案和資料夾?的詳細內容。更多資訊請關注PHP中文網其他相關文章!