C# 中可使用各種目錄和檔案相關類(如:DirectoryInfo
類和FileInfo
類)來處理目錄和檔案。
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() |
從當前目錄返回檔案列表 |
有關屬性和方法的完整列表,請存取Microsoft的 C# 文件。
FileInfo
類派生自FileSystemInf
o類。它具有用於建立,複製,刪除,移動和開啟檔案的屬性和範例方法,並有助於建立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) |
以指定的模式開啟檔案,讀取,寫入或讀/寫存取。 |
7 | public FileStream Open(FileMode mode, FileAccess access, FileShare share) |
以指定的模式開啟一個檔案,具有讀,寫或讀/寫存取許可權以及指定的共用選項。 |
8 | public FileStream OpenRead() |
建立唯讀FileStream 物件 |
9 | public FileStream OpenWrite() |
建立一個只寫FileStream 物件 |
有關屬性和方法的完整列表,請存取Microsoft的 C# 文件。
以下範例演示如何使用上述類:
using System;
using System.IO;
namespace WindowsFileApplication
{
class Program
{
static void Main(string[] args)
{
//creating a DirectoryInfo object
DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows");
// getting the files in the directory, their names and size
FileInfo [] f = mydir.GetFiles();
foreach (FileInfo file in f)
{
Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
}
Console.ReadKey();
}
}
}
編譯並執行程式時,會在Windows目錄中顯示檔案的名稱及其各自的大小。
File Name: 3IoaQ3K3QY24H34.lAxO5 Size: 273424
File Name: 4mA6y1wAaD9.7t6uh Size: 188432
File Name: 55PLR.kc2Ik Size: 149520
File Name: 76.axv4b Size: 159760
File Name: 7V.8f9bG Size: 182288
File Name: 87.IX8Gn Size: 149520
File Name: 8ppwDb11OX.kPI6E Size: 235536
File Name: 912uo49t7bJm864.W39C1 Size: 296976
File Name: Bcdedit.dll Size: 294912
File Name: bfsvc.exe Size: 61952
File Name: bootstat.dat Size: 67584
File Name: D8Ecap.exe Size: 593920
File Name: diagerr.xml Size: 25689
File Name: diagwrn.xml Size: 24768
File Name: difxapi.dll Size: 440816
File Name: explorer.exe Size: 4516800
File Name: f3C.xP3I3 Size: 95248
File Name: HelpPane.exe Size: 995840
File Name: hh.exe Size: 18432
File Name: iGF1xcHJ.6mb1C Size: 299024
File Name: Irremote.ini Size: 90
File Name: KwYlx.dat Size: 21
File Name: LisW.fZ5j7 Size: 191504
File Name: mib.bin Size: 43131
File Name: msdfmap.ini Size: 1405
File Name: msvcp100.dll Size: 607568
File Name: msvcr100.dll Size: 827728
File Name: notepad.exe Size: 244736
File Name: ODBCINST.INI Size: 469
File Name: P.Wj9s5 Size: 125968
File Name: PFRO.log Size: 91720
File Name: Professional.xml Size: 32200
File Name: progress.ini Size: 36
File Name: PWMBTHLV.EXE Size: 527424
File Name: Px81C.5MH78 Size: 8208
File Name: py.exe Size: 889496
File Name: pyshellext.amd64.dll Size: 55456
File Name: pyw.exe Size: 890008
File Name: regedit.exe Size: 320512
File Name: Rg6TkqTadeve.R3tFV Size: 200720
File Name: RH8B2V4.4mJpC Size: 128016
File Name: Rt.B95F5 Size: 190480
File Name: RZ7Zz6.uq8Cy Size: 145424
File Name: SMSS-PFRO2049.tmp Size: 33472
File Name: splwow64.exe Size: 128000
File Name: system.ini Size: 219
File Name: taujpXUAfKl6Bm4.9yyCF Size: 131088
File Name: twain_32.dll Size: 60416
File Name: U.W49u1 Size: 153616
File Name: UwAJaF4C9fZjL.tiD4d Size: 52240
File Name: W8kk3rCc3HQSb3r.mXlkk Size: 100368
File Name: win.ini Size: 452
File Name: WindowsShell.Manifest Size: 670
File Name: WindowsUpdate.log Size: 275
File Name: winhlp32.exe Size: 10240
File Name: WMSysPr9.prx Size: 316640
File Name: write.exe Size: 11264
File Name: WVS_InstDBLogFile.csv Size: 727
File Name: WzB.3Z9CP Size: 76816
File Name: XuuYSy1s.3drra Size: 34832
File Name: YQ2dO3.7T7OO Size: 299024