2013-10-25 62 views
0

我想檢測文件的存在,我使用C#中的System.IO.File.Exists函數,所以,如果我做File.Exists("file.txt");它會返回TRUE,儘管文件不存在!! 這裏發生了什麼?c#File.Exists在不存在的文件上返回true

+0

您確定檢查了項目的默認文件夾嗎?嘗試完整路徑。 –

+3

檢查'Environment.CurrentDirectory'。我敢打賭,這不是你認爲的。 –

+0

你確定該文件不存在嗎?也許這是一個隱藏的文件,這就是爲什麼你看不到它? –

回答

5

如果該方法返回true,則該文件確實存在。

但是,您可能不會看到與File.Exists命令相同的位置。

MSDN

路徑參數被允許指定相對或絕對路徑信息。相對路徑信息被解釋爲相對於當前工作目錄。

由於您沒有指定文件的完整路徑,當前工作目錄正用於確定文件是否存在;它可能在那裏存在。

2

當您僅使用fileName時,它將在其執行的相同本地中找到它。你必須通過完整路徑,示例:

if (File.Exists("C:\\temp\\file.txt")) 
{ 
    // exists, use it 
} 
else 
{ 
    // does not exists 
} 
+0

你說得對,如果我給它當前路徑 – AlexandruC

+0

不適用於我。我知道這個文件不存在(因爲我剛刪除它來讓應用程序創建一個新的文件),它仍然返回true。我的路徑是'C:\ myApp \ Data \ myApp.mdf' – Ortund

相關問題