您当前所在位置:首页软件教程软件编程C# DirectoryInfo类使用详解

C# DirectoryInfo类使用详解

归类:软件编程更新时间:2023-12-10 22:16:02作者:互联网人气:217

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

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

C# DirectoryInfo语法

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

C#  DirectoryInfo构造函数

下表列出了DirectoryInfo类的构造函数。

构造函数描述
DirectoryInfo(String)它用于在指定的路径上初始化DirectoryInfo类的新实例。

C# DirectoryInfo属性

下表中列出了DirectoryInfo类的属性。

属性描述
Attributes它用于获取或设置当前文件或目录的属性。
CreationTime它用于获取或设置当前文件或目录的创建时间。
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为空,则用于删除DirectoryInfo。
Delete(Boolean)它用于删除DirectoryInfo的实例,指定是否删除子目录和文件。
EnumerateDirectories()它返回当前目录中可用的目录信息集合。
EnumerateFiles()它在当前目录中返回无数的文件信息集合。
GetAccessControl()它用于获取一个DirectorySecurity对象,该对象封装了目录的访问控制列表(ACL)条目。
GetDirectories()它返回当前目录的子目录。
GetFiles()它从当前目录返回文件列表。
GetType()它用于获取当前实例的类型。
MoveTo(String)它用于将DirectoryInfo实例及其内容移动到新路径。
Refresh()它用于刷新对象的状态。
SetAccessControl(DirectorySecurity)它用于设置DirectorySecurity对象描述的访问控制列表(ACL)条目。
ToString()它返回用户传递的原始路径。

C# DirectoryInfo示例

在下面的例子中,通过指定目录路径来创建一个名称为:yiibai_dir的目录。参考以下示例代码的实现 -

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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:\worksp\csharp\yiibai_dir");
            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.

打开目录:F:\worksp\csharp 应该能看到有一个名称为:yiibai_dir的目录。

DirectoryInfo类还提供删除创建的目录的删除方法。

C# DirectoryInfo示例:删除目录

在以下程序中,我们将删除在上面示例程序中创建的yiibai_dir目录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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:\worksp\csharp\yiibai_dir");
            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.

打开目录:F:\worksp\csharp 应该能看到yiibai_dir目录已经被删除了。

如果指定位置不存在目录,它将抛出一个System.IO.DirectoryNotFoundException异常。您可以自己修改上面代码测试一下。


本文地址:http://9zoku.com/ruanjianbc/344.html
版权声明:本文内容来自互联网,该文版权归原作者所有。本站仅提供信息存储空间服务,不拥有文章所有权,不承担相关法律责任。若对本内容有异议或投诉请与管理员联系 5604882#qq.com(请将#换成@)。
软件编程C++