C#教程
C#控制语句
C#函数
C#数组
C#面向对象
C#命名空间和异常
C#文件IO
C#集合
C#多线程
C#其它

C# DirectoryInfo

C# DirectoryInfo 类

DirectoryInfo 类是 System.IO 命名空间的一部分。它用于创建、删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。它是一个密封类,因此我们无法继承它。
DirectoryInfo 类提供下面列出的构造函数、方法和属性。

C# DirectoryInfo 语法

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

C# DirectoryInfo 构造函数

下表包含 DirectoryInfo 类的构造函数。
构造函数 说明
目录信息(字符串) 用于在指定路径上初始化 DirectoryInfo 类的新实例。

C# DirectoryInfo 属性

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

C# DirectoryInfo 方法

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

C# DirectoryInfo 示例

在下面的示例中,我们通过指定目录路径来创建一个 lidihuo 目录。
using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            // Provide directory name with complete location.
            DirectoryInfo directory = new DirectoryInfo(@"F:\lidihuo");
            try
            {
                // Check, directory exist or not.
                if (directory.Exists)
                {
                    Console.WriteLine("Directory already exist.");
                    return;
                }
                // Creating a new directory.
                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 示例: 删除目录

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            // Providing directory name with complete location.
            DirectoryInfo directory = new DirectoryInfo(@"F:\lidihuo");
            try
            {
                // Deleting directory
                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 异常。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4