首頁  >  文章  >  後端開發  >  C# 刪除空目錄和非空目錄的程序

C# 刪除空目錄和非空目錄的程序

PHPz
PHPz轉載
2023-08-29 12:57:021478瀏覽

C# 删除空目录和非空目录的程序

簡介

在電腦上,我們可以將檔案儲存在目錄中,也稱為資料夾。目錄還包含其他目錄和檔案的捷徑。在這裡,我們將討論刪除空目錄和非空目錄的 C# 程式。名為 Directory 的靜態類別提供了處理目錄的靜態方法。 DirectoryInfo 物件提供特定目錄的詳細資訊。

刪除空白和非空白目錄

現在我們有了一個目錄(無論是否為空),我們必須刪除它。空目錄表示該目錄中不存在任何檔案或子目錄。目錄可以被認為是文件和子目錄的分組;它可能包含或不包含資料。包含檔案或其他目錄的目錄稱為非空目錄。使用Directory類別的Delete()方法,我們可以刪除目錄。此方法有兩種重載方式 -

  • 刪除(字串)

  • #刪除(字串,布林值)

刪除(字串)

此方法包含在目錄類別中。此技術用於刪除空目錄。此方法從定義的位址或位置刪除目錄。

public static void Delete (string DirLocation); 

其中 DirLocation 是已提供且我們要刪除的目錄的位址,該參數的類型是字串。現在,執行此命令後可能會發生一些錯誤。

當 DirLocation 指定的同名同位址檔案已存在時,拋出 IO 例外。或者,子資料夾是唯讀的。未經授權的存取異常是可能發生的另一種類型的錯誤。如果呼叫者不具備所需的權限,則會拋出此異常。 Argument Null Exception 當 DirLocation 為空時發生,將會拋出此錯誤。 Path Too Long Exception 是另一個可能發生的錯誤,當給定的 DirLocation、檔案名稱或兩者都超過系統定義的最大長度時,就會出現此異常。如果 DirLocation 遺失或無法找到,則會出現「目錄找不到」異常。或指示的路線是錯誤的。

演算法

下面的演算法將逐步給出編寫刪除目錄的程式的過程。在這個演算法中,我們將使用Delete(String)方法。

例如,我們將考慮一個名為「csk」的空目錄。現在,我們將使用Delete(String)方法並刪除「csk」目錄。

第 1 步 - 我們將使用 Directory.delete 方法透過傳遞目錄位址來刪除目錄。

第 2 步驟 − 透過使用 Console.Writeline() 我們寫入目錄的刪除已完成。

範例

// A C# program which goes on given address and deletes the empty directory
// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main(){

      // Deleting the empty directory by using the Delete() method
      Directory.Delete("D:/csk");
      Console.WriteLine("Deleted");
   }
}

輸出

Deleted

刪除(字串,布林值)

此方法也包含在 Directory 類別中。使用此技術將刪除指定的目錄以及該目錄中的任何子目錄和檔案(如果指定)。

public static void Delete (string DirLocation, bool recursive); 

此技術用於刪除指定的目錄以及其中包含的任何子目錄和檔案。現在,執行此命令後可能會發生一些錯誤。

當 DirLocation 指定的同名同位址檔案已存在時,拋出 IO 例外。或者,子資料夾是唯讀的。未經授權的存取異常是可能發生的另一種類型的錯誤。如果呼叫者不具備所需的權限,則會拋出此異常。 Argument Null Exception 當 DirLocation 為空時發生,將會拋出此錯誤。

路徑太長異常是另一個錯誤,當給定的 DirLocation、檔案名稱或兩者都超過系統中設定的最大長度時,就會出現此異常。如果 DirLocation 遺失或無法找到,則會出現「目錄找不到」異常。或指示的路線是錯誤的。

演算法

下面的演算法將逐步給出編寫刪除目錄的程式的過程。在此演算法中,我們將使用Delete(String, Boolean)方法。

例如,我們將考慮在 D 碟中有一個名為「csk」的非空目錄,其中包含一個名為「msd」的檔案。現在,我們將使用Delete(String, Boolean)方法並刪除「csk」目錄。

第 1 步驟 我們將使用 Directory.delete(String, Boolean) 方法透過傳遞目錄位址來刪除目錄。

步驟 2   這裡 true 是在檢查子目錄是否存在時傳遞的布林值。

第 3 步 − 透過使用 Console.Writeline() 我們寫入目錄的刪除已完成。

範例

// A C# program which goes on given address and deletes the non empty directory

// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main() {

      // Deleting the non-empty directory by using the Delete() method
      Directory.Delete("D:/csk",true);
      Console.WriteLine("Deleted");
   }
}

輸出

Deleted

時間複雜度

在演算法中,我們使用 Directory 類別的單一函數。這裡,Delete(String) 的時間複雜度將為 O(1),Delete(String, Boolean) 的時間複雜度也將為 O(1)。

結論

我們廣泛討論了刪除空目錄和非空目錄的 C# 程式。首先,我們討論了目錄的定義及其使用。然後我們討論了用兩種不同的方式刪除目錄。最後,我們看到了演算法和範例程式碼。我們希望本文能幫助您增強有關 C# 的知識。

以上是C# 刪除空目錄和非空目錄的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除