C# - DirectoryInfo类

C# - DirectoryInfo类 首页 / C#入门教程 / C# - DirectoryInfo类

DirectoryInfo类是System.IO命名空间的一部分。用于创建、删除、移动目录。它提供了执行与目录和子目录相关的操作的方法。它是一个密封的类,所以无涯教程不能继承它。

DirectoryInfo类提供下面列出的构造函数、方法和属性。

C#DirectoryInfo语法

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DirectoryInfo : FileSystemInfo

C#DirectoryInfo构造函数

下表包含DirectoryInfo类的构造函数。

ConstructorDescription
DirectoryInfo(String)它用于初始化指定路径上的DirectoryInfo类的新实例。

C#DirectoryInfo属性

下表包含DirectoryInfo类的属性。

PropertyDescription
Attributes它用于获取或设置当前文件或目录的属性。
CreationTime它用于获取或设置当前文件或目录的创建时间。
CreationTimeUtc它用于获得或设置创建时间,协调世界(UTC)。
Exists它用于获取指示目录是否存在的值。
Extension它用于获取表示文件的扩展部分的字符串。
FullName它用于获取目录的完整路径。
LastAccessTime它用于获取或设置上次访问当前文件或目录的时间。
LastAccessTimeUtc它用于获取或设置时间,在协调的通用时间(UTC)上次访问当前文件或目录。
LastWriteTime它用于获取或设置当前文件或目录上次写入的时间。
LastWriteTimeUtc它用于在协调世界时 (UTC) 中获取或设置当前文件或目录最后一次写入的时间。
Name它用于获取此 DirectoryInfo 实例的名称。
Parent用于获取指定子目录的父目录。
Root它用于获取目录的根部分。

C#DirectoryInfo方法

下表包含DirectoryInfo类的方法。

MethodDescription
Create()它用于创建目录。
Create(DirectorySecurity)它用于使用 DirectorySecurity 对象创建目录。
CreateObjRef(Type)它用于创建一个对象,该对象包含生成用于与远程对象通信的代理所需的所有相关信息。
CreateSubdirectory(String)它用于在指定路径上创建一个或多个子目录。
CreateSubdirectory(String,DirectorySecurity)它用于在指定路径上以指定的安全性创建一个或多个子目录。
Delete()如果此 DirectoryInfo 为空,则用于删除它。
Delete(Boolean)它用于删除此 DirectoryInfo 实例,指定是否删除子目录和文件。
EnumerateDirectories()它返回当前目录中目录信息的可枚举集合。
EnumerateFiles()它返回当前目录中文件信息的可枚举集合。
GetAccessControl()它用于获取一个 DirectorySecurity 对象,该对象封装了目录的访问控制列表 (ACL) 条目。
GetDirectories()它返回当前目录的子目录。
GetFiles()它从当前目录返回一个文件列表。
GetType()它用于获取当前实例的类型。
MoveTo(String)它用于将 DirectoryInfo 实例及其内容移动到新路径。
Refresh()它用于刷新对象的状态。
SetAccessControl(DirectorySecurity)它用于设置由 DirectorySecurity 对象描述的访问控制列表 (ACL) 条目。
ToString()它返回用户传递的原始路径。

C#DirectoryInfo示例

在下面的示例中,无涯教程通过指定目录路径创建javatpoint目录。

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            // 提供具有完整位置的目录名称。
            DirectoryInfo directory = new DirectoryInfo(@"F:\javatpoint");
            try
            {
                // 检查,目录是否存在。
                if (directory.Exists)
                {
                    Console.WriteLine("Directory already exist.");
                    return;
                }
                // 创建一个新目录。
                directory.Create();
                Console.WriteLine("The directory is created successfully.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Directory not created: {0}", e.ToString());
            }
        }
    }
}

输出:

The directory is created successfully.

在下面的屏幕截图中,无涯教程可以看到创建了一个目录。

CSharp Directory info 1

DirectoryInfo类还提供一个删除方法来删除创建的目录。在下面的程序中,无涯教程将删除在前一个程序中创建的目录。

C#DirectoryInfo示例: Deleting Directory

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            // 提供具有完整位置的目录名称。
            DirectoryInfo directory = new DirectoryInfo(@"F:\javatpoint");
            try
            {
                // 删除目录
                directory.Delete();
                Console.WriteLine("The directory is deleted successfully.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Something went wrong: {0}", e.ToString());
            }
        }
    }
}

输出:

The directory is deleted successfully.

如果指定的目录不在该位置,它将引发System.IO.DirectoryNotFoundException异常。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

接口测试入门课 -〔陈磊〕

视觉笔记入门课 -〔高伟〕

说透数字化转型 -〔付晓岩〕

深入浅出分布式技术原理 -〔陈现麟〕

说透低代码 -〔陈旭〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

快速上手C++数据结构与算法 -〔王健伟〕

AI大模型之美 -〔徐文浩〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)