C# 檔案操作方法

C#中檔案操作的相關方法


C# 中的 File 與 FileInfo 類別使用指南

在 C# 中,處理檔案操作時常會用到 FileFileInfo 兩個類別。這兩個類別提供了豐富的方法來操作檔案,主要差異在於 File 提供靜態方法,而 FileInfo 則提供實例方法。以下介紹這兩個類別的主要使用方式及示例。

File 類別

File 類別提供一系列的靜態方法來執行檔案操作,如複製、創建、刪除、加密、檢查檔案是否存在等。

複製檔案

1
File.Copy(@"C:\temp\myfile.jpg", @"D:\temp\myfile.jpg", true);

刪除檔案

1
File.Delete(@"C:\temp\myfile.jpg");

檢查檔案是否存在

1
bool exists = File.Exists(@"C:\temp\myfile.jpg");

讀取全部文字

1
string content = File.ReadAllText(@"C:\temp\myfile.txt");

讀取全部二進位資料

1
byte[] bytes = File.ReadAllBytes(@"C:\temp\myfile.jpg");

FileInfo 類別

FileInfo 類別提供了一系列的實例方法來操作檔案,使用前需要先建立一個 FileInfo 物件。

建立 FileInfo 物件

1
FileInfo fileInfo = new FileInfo(@"C:\temp\myfile.jpg");

複製檔案

1
fileInfo.CopyTo(@"D:\temp\myfile.jpg", true);

刪除檔案

1
fileInfo.Delete();

檢查檔案是否存在

1
bool exists = fileInfo.Exists;

開啟檔案讀取

1
FileStream stream = fileInfo.OpenRead();

選擇 File 或 FileInfo

  • 對於少量的檔案操作,使用 File 類別的靜態方法更為方便,不需創建物件即可直接調用。
  • 若需執行大量檔案操作,建議使用 FileInfo 類別的實例方法,可減少操作系統安全檢查的開銷,提升應用程序性能。

C# 中的 Directory 與 DirectoryInfo 類別實務應用

在 C# 程式設計中,處理目錄操作時,我們會用到 DirectoryDirectoryInfo 兩個類別。這兩個類別提供了許多靜態方法和實例方法來執行各種目錄相關的操作。

Directory 類別

Directory 類別提供了一系列的靜態方法來執行目錄操作。

建立目錄

1
Directory.CreateDirectory(@"C:\temp\folder1");

獲取目錄中的檔案

使用 GetFiles 方法來獲取指定目錄下的所有檔案,支援搜尋模式與搜尋選項。

1
string[] files = Directory.GetFiles(@"C:\temp", "*.jpg", SearchOption.AllDirectories);

獲取子目錄

使用 GetDirectories 方法來獲取指定目錄及其子目錄。

1
string[] directories = Directory.GetDirectories(@"C:\temp", "*", SearchOption.AllDirectories);

檢查目錄是否存在

1
bool exists = Directory.Exists(@"C:\temp");

DirectoryInfo 類別

DirectoryInfo 類別提供了一系列的實例方法來進行目錄操作,使用前需要先建立一個 DirectoryInfo 物件。

建立 DirectoryInfo 物件

1
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\temp");

獲取目錄中的檔案

1
FileInfo[] files = directoryInfo.GetFiles("*.jpg", SearchOption.AllDirectories);

獲取子目錄

1
DirectoryInfo[] directories = directoryInfo.GetDirectories("*", SearchOption.AllDirectories);

刪除目錄

1
directoryInfo.Delete(true);

選擇 Directory 或 DirectoryInfo

  • 若需執行少量的目錄操作,直接使用 Directory 類別的靜態方法會更方便快捷。
  • 若需對特定目錄進行大量操作或需要更細緻的控制,則建議使用 DirectoryInfo 實例方法,可以減少操作系統安全檢查的頻率,提高效能。

無論是使用 Directory 還是 DirectoryInfo,都可以在 C# 中有效地管理文件系統的目錄結構。建議根據具體需求選擇合適的類別進行操作。