C#DirectoryInfo類用法詳解
DirectoryInfo類是System.IO命名空間的一部分。它用于創(chuàng)建,刪除和移動目錄。它提供了執(zhí)行與目錄和子目錄相關(guān)的操作的方法。這是一個密封的類,所以不能繼承它。
DirectoryInfo類提供了下面列出的構(gòu)造函數(shù),方法和屬性。
C# DirectoryInfo語法
[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class DirectoryInfo : FileSystemInfo
C# DirectoryInfo構(gòu)造函數(shù)
下表列出了DirectoryInfo類的構(gòu)造函數(shù)。
構(gòu)造函數(shù) | 描述 |
---|---|
DirectoryInfo(String) | 它用于在指定的路徑上初始化DirectoryInfo類的新實例。 |
C# DirectoryInfo屬性
下表中列出了DirectoryInfo類的屬性。
屬性 | 描述 |
---|---|
Attributes | 它用于獲取或設(shè)置當前文件或目錄的屬性。 |
CreationTime | 它用于獲取或設(shè)置當前文件或目錄的創(chuàng)建時間。 |
CreationTimeUtc | 它用于在協(xié)調(diào)的世界時間(UTC)中獲取或設(shè)置創(chuàng)建時間。 |
Exists | 它用于獲取一個值,指示目錄是否存在。 |
Extension | 它用于獲取表示文件擴展部分的字符串。 |
FullName | 它用于獲取目錄的完整路徑。 |
LastAccessTime | 它用于獲取或設(shè)置上次訪問當前文件或目錄的時間。 |
LastAccessTimeUtc | 用于在當前文件或目錄被上次訪問的協(xié)調(diào)世界時間(UTC)中獲取或設(shè)置時間。 |
LastWriteTime | 它用于獲取或設(shè)置當前文件或目錄最后寫入的時間。 |
LastWriteTimeUtc | 當最后一次寫入當前文件或目錄時,它用于在協(xié)調(diào)世界時(UTC)中獲取或設(shè)置時間。 |
Name | 它用于獲取此DirectoryInfo實例的名稱。 |
Parent | 它用于獲取指定子目錄的父目錄。 |
Root | 它用于獲取目錄的根部分。 |
C# DirectoryInfo方法
下表列出了DirectoryInfo類中定義的方法。
方法 | 描述 |
---|---|
Create() | 它用于創(chuàng)建一個目錄。 |
Create(DirectorySecurity) | 它用于使用DirectorySecurity對象創(chuàng)建目錄。 |
CreateObjRef(Type) | 它用于創(chuàng)建一個對象,其中包含生成用于與遠程對象通信的代理所需的所有相關(guān)信息。 |
CreateSubdirectory(String) | 它用于在指定的路徑上創(chuàng)建一個子目錄或子目錄。 |
CreateSubdirectory(String,DirectorySecurity) | 它用于在具有指定安全性的指定路徑上創(chuàng)建子目錄或子目錄。 |
Delete() | 如果DirectoryInfo為空,則用于刪除DirectoryInfo。 |
Delete(Boolean) | 它用于刪除DirectoryInfo的實例,指定是否刪除子目錄和文件。 |
EnumerateDirectories() | 它返回當前目錄中可用的目錄信息集合。 |
EnumerateFiles() | 它在當前目錄中返回無數(shù)的文件信息集合。 |
GetAccessControl() | 它用于獲取一個DirectorySecurity對象,該對象封裝了目錄的訪問控制列表(ACL)條目。 |
GetDirectories() | 它返回當前目錄的子目錄。 |
GetFiles() | 它從當前目錄返回文件列表。 |
GetType() | 它用于獲取當前實例的類型。 |
MoveTo(String) | 它用于將DirectoryInfo實例及其內(nèi)容移動到新路徑。 |
Refresh() | 它用于刷新對象的狀態(tài)。 |
SetAccessControl(DirectorySecurity) | 它用于設(shè)置DirectorySecurity對象描述的訪問控制列表(ACL)條目。 |
ToString() | 它返回用戶傳遞的原始路徑。 |
C# DirectoryInfo示例
在下面的例子中,通過指定目錄路徑來創(chuàng)建一個名稱為:yiibai_dir的目錄。參考以下示例代碼的實現(xiàn) -
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()); } } } }
執(zhí)行上面示例代碼,得到以下結(jié)果 -
The directory is created successfully.
打開目錄:F:\worksp\csharp 應(yīng)該能看到有一個名稱為:yiibai_dir的目錄。
DirectoryInfo類還提供刪除創(chuàng)建的目錄的刪除方法。
C# DirectoryInfo示例:刪除目錄
在以下程序中,我們將刪除在上面示例程序中創(chuàng)建的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()); } } } }
執(zhí)行上面示例代碼,得到以下結(jié)果 -
The directory is deleted successfully.
打開目錄:F:\worksp\csharp 應(yīng)該能看到y(tǒng)iibai_dir目錄已經(jīng)被刪除了。
如果指定位置不存在目錄,它將拋出一個System.IO.DirectoryNotFoundException異常。您可以自己修改上面代碼測試一下。
到此這篇關(guān)于C#DirectoryInfo類用法詳解的文章就介紹到這了,更多相關(guān)C#DirectoryInfo類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WinForm中變Enter鍵為Tab鍵實現(xiàn)焦點轉(zhuǎn)移的方法
這篇文章主要介紹了WinForm中變Enter鍵為Tab鍵實現(xiàn)焦點轉(zhuǎn)移的方法,主要通過一個ControlTools類來實現(xiàn)該功能,需要的朋友可以參考下2014-08-08