【C# DirectoryInfo用法】DirectoryInfo类是System.IO名称空间的一部分。它用于创建,删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。这是一个密封的类,因此我们不能继承它。
DirectoryInfo类提供了下面列出的构造函数,方法和属性。
C#DirectoryInfo语法
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DirectoryInfo : FileSystemInfo
C#DirectoryInfo构造函数
下表包含DirectoryInfo类的构造函数。
建设者 | 描述 |
---|---|
DirectoryInfo(String) | 它用于在指定路径上初始化DirectoryInfo类的新实例。 |
下表包含DirectoryInfo类的属性。
属性 | 描述 |
---|---|
Attributes | 它用于获取或设置当前文件或目录的属性。 |
CreationTime | 它用于获取或设置当前文件或目录的创建时间。 |
CreationTimeUtc | 它用于以协调世界时(UTC)获取或设置创建时间。 |
Exists | 它用于获取指示目录是否存在的值。 |
Extension | 它用于获取表示文件扩展部分的字符串。 |
FullName | 它用于获取目录的完整路径。 |
LastAccessTime | 它用于获取或设置上次访问当前文件或目录的时间。 |
LastAccessTimeUtc | 它用于获取或设置上次访问当前文件或目录的时间(以协调世界时(UTC))。 |
LastWriteTime | 它用于获取或设置上次写入当前文件或目录的时间。 |
LastWriteTimeUtc | 它用于获取或设置上次写入当前文件或目录的时间(以协调世界时(UTC))。 |
Name | 它用于获取此DirectoryInfo实例的名称。 |
Parent | 它用于获取指定子目录的父目录。 |
Root | 它用于获取目录的根部分。 |
下表包含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() | 它返回用户传递的原始路径。 |
在以下示例中,我们通过指定目录路径来创建srcmini目录。
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:\srcmini");
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.
在下面的屏幕截图中,我们可以看到目录已创建。
文章图片
DirectoryInfo类还提供了delete方法来删除创建的目录。在以下程序中,我们将删除在上一个程序中创建的目录。
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:\srcmini");
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异常。
推荐阅读
- C#序列化
- C# FileInfo用法
- C# StringReader用法
- C# BinaryWriter用法
- C# StringWriter用法
- C# BinaryReader用法
- C# TextReader用法
- C# TextWriter用法
- C#用户定义的异常