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示例
在下面的例子中,通過指定目錄路徑來創建一個名稱為:zaixian_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\zaixian_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 應該能看到有一個名稱為:zaixian_dir的目錄。
DirectoryInfo
類還提供刪除創建的目錄的刪除方法。
C# DirectoryInfo示例:刪除目錄
在以下程式中,我們將刪除在上面示例程式中創建的zaixian_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\zaixian_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 應該能看到zaixian_dir目錄已經被刪除了。
如果指定位置不存在目錄,它將拋出一個System.IO.DirectoryNotFoundException
異常。您可以自己修改上面代碼測試一下。
上一篇:
C# FileInfo類
下一篇:
C#序列化