首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 判斷檔案是否存在的三種方法比較

     編輯:關於C#

方法一:File.Exists (推薦)


using System.IO;
bool exists = File.Exists(Application.StartupPath + @"\AlarmSet.txt");

最簡潔、語意明確、效能佳。回傳 true 表示檔案存在且為檔案(非目錄)。

方法二:DirectoryInfo.Exists


var info = new DirectoryInfo(Application.StartupPath + @"\AlarmSet.txt");
bool exists = info.Exists;

注意:DirectoryInfo 針對**目錄**,若路徑為檔案則永遠回傳 false。此用法**錯誤**。正確用法應為 FileInfo:


var info = new FileInfo(path);
bool exists = info.Exists;

方法三:File.Create 偵測 (不推薦)


File.Create(path); // 若不存在會建立,存在則覆寫/拋出例外

此法**副作用嚴重**:會實際建立/截斷檔案,非單純判斷。僅在「不存在則建立」的原子操作中適用。

總結比較

方法正確性副作用適用場景
File.Exists✓無純判斷存在性
FileInfo.Exists✓無需後續操作檔案屬性(長度、時間等)
DirectoryInfo.Exists✗ (針對檔案)無判斷目錄存在
File.Create✗ (非判斷用途)建立/覆寫檔案確保檔案存在並取得 FileStream

結語

判斷檔案存在請直接使用 File.Exists 或 new FileInfo(path).Exists。切勿使用 DirectoryInfo 檢查檔案,也不要用 File.Create 做判斷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved