C# Windows 檔系統的操作
C# 允許您使用各種目錄和文件相關的類來操作目錄和文件,比如 DirectoryInfo 類和 FileInfo 類。
DirectoryInfo 類
DirectoryInfo 類派生自 FileSystemInfo 類。它提供了各種用於創建、移動、流覽目錄和子目錄的方法。該類不能被繼承。
下表列出了 DirectoryInfo 類中一些常用的屬性:
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | Attributes 獲取當前檔或目錄的屬性。 |
| 2 | CreationTime 獲取當前檔或目錄的創建時間。 |
| 3 | Exists 獲取一個表示目錄是否存在的布爾值。 |
| 4 | Extension 獲取表示檔存在的字串。 |
| 5 | FullName 獲取目錄或檔的完整路徑。 |
| 6 | LastAccessTime 獲取當前檔或目錄最後被訪問的時間。 |
| 7 | Name 獲取該 DirectoryInfo 實例的名稱。 |
下表列出了 DirectoryInfo 類中一些常用的方法:
| 序號 | 方法 & 描述 |
|---|---|
| 1 | public void Create() 創建一個目錄。 |
| 2 | public DirectoryInfo CreateSubdirectory(
string path
)
在指定的路徑上創建子目錄。指定的路徑可以是相對於 DirectoryInfo 類的實例的路徑。 |
| 3 | public override void Delete() 如果為空的,則刪除該 DirectoryInfo。 |
| 4 | public DirectoryInfo[] GetDirectories() 返回當前目錄的子目錄。 |
| 5 | public FileInfo[] GetFiles() 從當前目錄返回檔列表。 |
如需查看完整的屬性和方法列表,請訪問微軟的 C# 文檔。
FileInfo 類
FileInfo 類派生自 FileSystemInfo 類。它提供了用於創建、複製、刪除、移動、打開檔的屬性和方法,且有助於 FileStream 對象的創建。該類不能被繼承。
下表列出了 FileInfo 類中一些常用的屬性:
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | Attributes 獲取當前檔的屬性。 |
| 2 | CreationTime 獲取當前檔的創建時間。 |
| 3 | Directory 獲取檔所屬目錄的一個實例。 |
| 4 | Exists 獲取一個表示檔是否存在的布爾值。 |
| 5 | Extension 獲取表示檔存在的字串。 |
| 6 | FullName 獲取檔的完整路徑。 |
| 7 | LastAccessTime 獲取當前檔最後被訪問的時間。 |
| 8 | LastWriteTime 獲取檔最後被寫入的時間。 |
| 9 | Length 獲取當前檔的大小,以位元組為單位。 |
| 10 | Name 獲取檔的名稱。 |
下表列出了 FileInfo 類中一些常用的方法:
| 序號 | 方法 & 描述 |
|---|---|
| 1 | public StreamWriter AppendText() 創建一個 StreamWriter,追加文本到由 FileInfo 的實例表示的檔中。 |
| 2 | public FileStream Create() 創建一個檔。 |
| 3 | public override void Delete() 永久刪除一個檔。 |
| 4 | public void MoveTo(
string destFileName
)
移動一個指定的檔到一個新的位置,提供選項來指定新的檔案名。 |
| 5 | public FileStream Open(
FileMode mode
)
以指定的模式打開一個檔。 |
| 6 | public FileStream Open(
FileMode mode,
FileAccess access
)
以指定的模式,使用 read、write 或 read/write 訪問,來打開一個檔。 |
| 7 | public FileStream Open(
FileMode mode,
FileAccess access,
FileShare share
)
以指定的模式,使用 read、write 或 read/write 訪問,以及指定的分享選項,來打開一個檔。 |
| 8 | public FileStream OpenRead() 創建一個只讀的 FileStream。 |
| 9 | public FileStream OpenWrite() 創建一個只寫的 FileStream。 |
如需查看完整的屬性和方法列表,請訪問微軟的 C# 文檔。
實例
下麵的實例演示了上面提到的類的用法:
using System;
using System.IO;
namespace WindowsFileApplication
{
class Program
{
static void Main(string[] args)
{
// 創建一個 DirectoryInfo 對象
DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows");
// 獲取目錄中的檔以及它們的名稱和大小
FileInfo [] f = mydir.GetFiles();
foreach (FileInfo file in f)
{
Console.WriteLine("File Name: {0} Size: {1}",
file.Name, file.Length);
}
Console.ReadKey();
}
}
}
當您編譯和執行上面的程式時,它會顯示檔的名稱及它們在 Windows 目錄中的大小。

C# 檔的輸入與輸出