DirectoryInfo
類是System.IO
名稱空間的一部分。它用於建立,刪除和移動目錄。它提供了執行與目錄和子目錄相關的操作的方法。這是一個密封的類,所以不能繼承它。
DirectoryInfo
類提供了下面列出的建構函式,方法和屬性。
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DirectoryInfo : FileSystemInfo
下表列出了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() | 它返回使用者傳遞的原始路徑。 |
在下面的例子中,通過指定目錄路徑來建立一個名稱為: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
類還提供刪除建立的目錄的刪除方法。
在以下程式中,我們將刪除在上面範例程式中建立的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
異常。您可以自己修改上面程式碼測試一下。