Directory有一個靜態方法Delete用來刪除指定的目錄。它有兩個重載版本,如下:
2.Delete(String path, Boolean recursive)
解釋:
方法1:唯一一個參數path,就是要刪除的目錄的路徑可以是相對的也可以是絕對的。(相對當前工作的路徑,可參考GetCurrentDirectory)。這個方法是用於刪除空的目錄。
方法2:第一個參數path是指定要刪除的目錄的路徑(於第一個版本相同),重要的是第二個參數他指定是否要刪除該目錄下的子目錄及文件,換句話說就是它可以刪除非空目錄。如果要刪除非空目錄則第二個參數 應為true(從它的參數名recursive稱我們就可以知道它表示是否要遞歸刪除)。這里主要要注意這個path。
舉個例子:現在我們要刪除的目錄的路徑為X:\dir。假設dir里頭還有其他子目錄和文件(非空)。
如果我們設置 path="X:\\dir" recursive=true;這樣調用看起來沒問題,但是執行的時候會拋出IOException 異常,告訴你dir非空。
正確的方法是修改的值為 "X:\\dir\\" (注意在后面多了一個“\\”)。