C#DirectoryInfo類用法詳解
DirectoryInfo類是System.IO命名空間的一部分。它用于創(chuàng)建,刪除和移動(dòng)目錄。它提供了執(zhí)行與目錄和子目錄相關(guān)的操作的方法。這是一個(gè)密封的類,所以不能繼承它。
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類的新實(shí)例。 |
C# DirectoryInfo屬性
下表中列出了DirectoryInfo類的屬性。
| 屬性 | 描述 |
|---|---|
| Attributes | 它用于獲取或設(shè)置當(dāng)前文件或目錄的屬性。 |
| CreationTime | 它用于獲取或設(shè)置當(dāng)前文件或目錄的創(chuàng)建時(shí)間。 |
| CreationTimeUtc | 它用于在協(xié)調(diào)的世界時(shí)間(UTC)中獲取或設(shè)置創(chuàng)建時(shí)間。 |
| Exists | 它用于獲取一個(gè)值,指示目錄是否存在。 |
| Extension | 它用于獲取表示文件擴(kuò)展部分的字符串。 |
| FullName | 它用于獲取目錄的完整路徑。 |
| LastAccessTime | 它用于獲取或設(shè)置上次訪問當(dāng)前文件或目錄的時(shí)間。 |
| LastAccessTimeUtc | 用于在當(dāng)前文件或目錄被上次訪問的協(xié)調(diào)世界時(shí)間(UTC)中獲取或設(shè)置時(shí)間。 |
| LastWriteTime | 它用于獲取或設(shè)置當(dāng)前文件或目錄最后寫入的時(shí)間。 |
| LastWriteTimeUtc | 當(dāng)最后一次寫入當(dāng)前文件或目錄時(shí),它用于在協(xié)調(diào)世界時(shí)(UTC)中獲取或設(shè)置時(shí)間。 |
| Name | 它用于獲取此DirectoryInfo實(shí)例的名稱。 |
| Parent | 它用于獲取指定子目錄的父目錄。 |
| Root | 它用于獲取目錄的根部分。 |
C# DirectoryInfo方法
下表列出了DirectoryInfo類中定義的方法。
| 方法 | 描述 |
|---|---|
| Create() | 它用于創(chuàng)建一個(gè)目錄。 |
| Create(DirectorySecurity) | 它用于使用DirectorySecurity對(duì)象創(chuàng)建目錄。 |
| CreateObjRef(Type) | 它用于創(chuàng)建一個(gè)對(duì)象,其中包含生成用于與遠(yuǎn)程對(duì)象通信的代理所需的所有相關(guān)信息。 |
| CreateSubdirectory(String) | 它用于在指定的路徑上創(chuàng)建一個(gè)子目錄或子目錄。 |
| CreateSubdirectory(String,DirectorySecurity) | 它用于在具有指定安全性的指定路徑上創(chuàng)建子目錄或子目錄。 |
| Delete() | 如果DirectoryInfo為空,則用于刪除DirectoryInfo。 |
| Delete(Boolean) | 它用于刪除DirectoryInfo的實(shí)例,指定是否刪除子目錄和文件。 |
| EnumerateDirectories() | 它返回當(dāng)前目錄中可用的目錄信息集合。 |
| EnumerateFiles() | 它在當(dāng)前目錄中返回?zé)o數(shù)的文件信息集合。 |
| GetAccessControl() | 它用于獲取一個(gè)DirectorySecurity對(duì)象,該對(duì)象封裝了目錄的訪問控制列表(ACL)條目。 |
| GetDirectories() | 它返回當(dāng)前目錄的子目錄。 |
| GetFiles() | 它從當(dāng)前目錄返回文件列表。 |
| GetType() | 它用于獲取當(dāng)前實(shí)例的類型。 |
| MoveTo(String) | 它用于將DirectoryInfo實(shí)例及其內(nèi)容移動(dòng)到新路徑。 |
| Refresh() | 它用于刷新對(duì)象的狀態(tài)。 |
| SetAccessControl(DirectorySecurity) | 它用于設(shè)置DirectorySecurity對(duì)象描述的訪問控制列表(ACL)條目。 |
| ToString() | 它返回用戶傳遞的原始路徑。 |
C# DirectoryInfo示例
在下面的例子中,通過指定目錄路徑來創(chuàng)建一個(gè)名稱為:yiibai_dir的目錄。參考以下示例代碼的實(shí)現(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)該能看到有一個(gè)名稱為: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)被刪除了。
如果指定位置不存在目錄,它將拋出一個(gè)System.IO.DirectoryNotFoundException異常。您可以自己修改上面代碼測(cè)試一下。
到此這篇關(guān)于C#DirectoryInfo類用法詳解的文章就介紹到這了,更多相關(guān)C#DirectoryInfo類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c#中實(shí)現(xiàn)圖片灰度化技術(shù)詳解
這篇文章主要介紹了c#中實(shí)現(xiàn)圖片灰度化技術(shù)詳解,本文給出計(jì)算公式和實(shí)現(xiàn)代碼以及圖片例子,需要的朋友可以參考下2014-08-08
采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法
這篇文章主要介紹了采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)拆分合并Word表格中的單元格
我們?cè)谑褂肳ord制作表格時(shí),由于表格較為復(fù)雜,只是簡(jiǎn)單的插入行、列并不能滿足我們的需要。要做一個(gè)完整的表格,很多時(shí)候需要將單元格進(jìn)行拆分或者合并。本文將詳細(xì)為您介紹在Word表格中拆分或合并單元格的思路及方法,希望對(duì)大家有所幫助2022-12-12
WinForm中變Enter鍵為Tab鍵實(shí)現(xiàn)焦點(diǎn)轉(zhuǎn)移的方法
這篇文章主要介紹了WinForm中變Enter鍵為Tab鍵實(shí)現(xiàn)焦點(diǎn)轉(zhuǎn)移的方法,主要通過一個(gè)ControlTools類來實(shí)現(xiàn)該功能,需要的朋友可以參考下2014-08-08

