天天看點

C# 檔案類中 File 類和FileInfo 類的差別

一、定義差別

System.IO命名空間

提供的檔案操作類包含:File類和FileInfo類。

File類隻包含靜态方法,不能被執行個體化。

隻要調用一個成員方法,提供合适檔案系統對象的路徑,就可以使用這些類。如果隻對檔案執行一個操作,使用這個類很有效,省去建立對象的系統開銷。

FileInfo類,不是靜态的,需要執行個體化。如果使用同一個對象執行多個操作,使用這些類比較有效。這是因為在構造時他們将讀取合适檔案系統對象的身份驗證和其他資訊,在調用每個方法時,相應的無狀态類需要再次檢查檔案夾的詳細内容。

二、執行個體

使用File類

File.Copy(filePath,newFilePath)。

使用FileInfo類

FileInfo fileinfo = new FileInfo();

fileinfo.CopyTo(newFilePath);

三、結論

1、檔案執行幾種操作時,使用FileInfo類更高效,因為File類每次都要尋找檔案,耗費系統資源。

2、檔案執行單一的方法,使用File類,因為不必執行個體化對象,省去建立對象的系統開銷。