欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#DirectoryInfo类用法详解

时间:2022-10-03 11:32:03|栏目:.NET代码|点击:

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

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

C# DirectoryInfo语法

[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的目录。参考以下示例代码的实现 -

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目录。

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异常。您可以自己修改上面代码测试一下。

上一篇:详解Asp.Net MVC的Bundle捆绑

栏    目:.NET代码

下一篇:C#实现文本读取的7种方式

本文标题:C#DirectoryInfo类用法详解

本文地址:http://www.codeinn.net/misctech/215306.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有