首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 目錄管理實戰:Directory 類別完整操作指南

     編輯:關於C語言

Directory 類別簡介

.NET 在 System.IO 提供 Directory 靜態類別與 DirectoryInfo 實例類別,支援建立、移動、列舉、刪除目錄,以及設定隱藏、唯讀等屬性。

常用屬性

  • Attributes:0x01 唯讀、0x02 隱藏
  • Name、Parent、Root:路徑相關資訊
  • CreationTime、LastAccessTime、LastWriteTime:時間戳記

核心方法

方法說明
CreateDirectory(path)建立單層子目錄
CreateDirectories(path)建立多層目錄(含父目錄)
CreateFile(filename)在目前目錄建立新檔案
Delete()刪除目錄
GetDirectories()取得子目錄清單

範例 1:建立多層目錄

using System;
using System.IO;

class DirectoryTest {
    public static void Main() {
        DirectoryInfo d = new DirectoryInfo(@"c:\C#");
        try {
            DirectoryInfo d1 = d.CreateSubdirectory("file1");
            DirectoryInfo d2 = d.CreateSubdirectory(@"file1\file2"); // 等同 d1.CreateSubdirectory("file2")
            Console.WriteLine("Create directory successfully!");
        } catch (IOException e) {
            Console.WriteLine("Failed: {0}", e.Message);
        }
    }
}

注意:IOException 通常因目錄已存在觸發,捕捉後可提示使用者或略過。

範例 2:遞迴刪除目錄樹

using System;
using System.IO;

class DirectoryTest {
    public static void Main() {
        DirectoryInfo d = new DirectoryInfo(@"c:\C#\file1");
        try {
            foreach (DirectoryInfo dir in d.GetDirectories()) {
                dir.Delete(true); // true = 遞迴刪除子目錄
            }
            d.Delete(true);
            Console.WriteLine("Delete successfully!");
        } catch (DirectoryNotFoundException e) {
            Console.WriteLine("Not found: {0}", e.Message);
        }
    }
}

最佳實踐

  • 路徑字串建議使用 @ 字串常值或 Path.Combine 避免逸出字元錯誤。
  • 針對 IOException、UnauthorizedAccessException、DirectoryNotFoundException 分別處理,提供精確錯誤訊息。
  • 大量目錄操作時考慮使用 Directory.EnumerateDirectories 延遲載入,減少記憶體壓力。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved