DirectoryInfo类是System.IO命名空间的一部分。用于创建、删除、移动目录。它提供了执行与目录和子目录相关的操作的方法。它是一个密封的类,所以无涯教程不能继承它。
DirectoryInfo类提供下面列出的构造函数、方法和属性。
[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class DirectoryInfo : FileSystemInfo
下表包含DirectoryInfo类的构造函数。
Constructor | Description |
---|---|
DirectoryInfo(String) | 它用于初始化指定路径上的DirectoryInfo类的新实例。 |
下表包含DirectoryInfo类的属性。
Property | Description |
---|---|
Attributes | 它用于获取或设置当前文件或目录的属性。 |
CreationTime | 它用于获取或设置当前文件或目录的创建时间。 |
CreationTimeUtc | 它用于获得或设置创建时间,协调世界(UTC)。 |
Exists | 它用于获取指示目录是否存在的值。 |
Extension | 它用于获取表示文件的扩展部分的字符串。 |
FullName | 它用于获取目录的完整路径。 |
LastAccessTime | 它用于获取或设置上次访问当前文件或目录的时间。 |
LastAccessTimeUtc | 它用于获取或设置时间,在协调的通用时间(UTC)上次访问当前文件或目录。 |
LastWriteTime | 它用于获取或设置当前文件或目录上次写入的时间。 |
LastWriteTimeUtc | 它用于在协调世界时 (UTC) 中获取或设置当前文件或目录最后一次写入的时间。 |
Name | 它用于获取此 DirectoryInfo 实例的名称。 |
Parent | 用于获取指定子目录的父目录。 |
Root | 它用于获取目录的根部分。 |
下表包含DirectoryInfo类的方法。
Method | Description |
---|---|
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() | 它返回用户传递的原始路径。 |
在下面的示例中,无涯教程通过指定目录路径创建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.
在下面的屏幕截图中,无涯教程可以看到创建了一个目录。
DirectoryInfo类还提供一个删除方法来删除创建的目录。在下面的程序中,无涯教程将删除在前一个程序中创建的目录。
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异常。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)