C# DirectoryInfo類
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
異常。您可以自己修改上面代碼測試一下。