首页 > 编程笔记 > C#笔记 阅读:4

C# DirectoryInfo类的用法(附带实例)

C# 中的 Directory 是一个静态类,提供创建、移动、删除和存取子文件夹的操作。本节要讲的 DirectoryInfo 类,提供了和 Directory 相同功能的方法。

和 Directory 类不同的是,DirectoryInfo 类需要先用建构方法声明并创建一个实体文件夹对象,然后才可以用这个对象操作类的方法。

下列是声明并创建“D:\\myC#\\test”实体对象 mydir 的实例:
DirectoryInfo mydir = new DirectoryInfo(“D:\\myC#\\test”);
或是:
DirectoryInfo mydir = new DirectoryInfo(@”D:\myC#\test”);// 加@

有了上述 mydir 对象,可以使用对象得到下列属性:
下列是此文件夹对象常用的方法:
【实例 1】创建文件夹,同时列出文件夹的属性。
DirectoryInfo mydir = new DirectoryInfo(@"D:\myC#\test");
// 创建文件夹
mydir.Create();
Console.WriteLine($"名称:{mydir.Name}");
Console.WriteLine($"日期:{mydir.CreationTime}");
Console.WriteLine($"存在:{mydir.Exists}");
Console.WriteLine($"根目录:{mydir.Root}");
执行结果为:

名称:test
日期:2025/4/12 20:53:30
存在:True
根目录:C:\


【实例 2】创建与删除文件夹的应用。
string di = @"D:\C#\test\ch";
DirectoryInfo mydir = new DirectoryInfo(di);
try
{
    if (mydir.Exists) // 检查文件夹是否存在
    {
        Console.WriteLine($"【{di}】文件夹存在");
        return;
    }
    else
    {
        Console.WriteLine($"【{di}】文件夹目前不存在");
    }
    mydir.Create(); // 创建文件夹
    Console.WriteLine($"创建【{di}】文件夹成功");
    mydir.Delete(); // 删除文件夹
    Console.WriteLine($"删除【{di}】文件夹成功");
}
catch (Exception e)
{
    Console.WriteLine($"执行失败:{e.ToString()}");
}
执行结果为:

D:\C#\test\ch 文件夹目前不存在
创建 D:\C#\test\ch 文件夹成功
删除 D:\C#\test\ch 文件夹成功

上述程序第 3 行是在声明 mydir 文件夹实体对象,从第 6~12 行可以知道,声明不等于创建,所以获得了第 12 行“文件夹目前不存在”的输出。要等到第 14 行执行 Create() 后,整个文件夹才算是创建成功。

相关文章