C# Windows檔案系統

2019-10-16 23:16:59

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() 從當前目錄返回檔案列表

有關屬性和方法的完整列表,請存取Microsoft的 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) 以指定的模式開啟檔案,讀取,寫入或讀/寫存取。
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