2016-07-26 131 views
0

我正在研究一個程序,它需要在用戶定義的目錄中查找文件。如果文件不存在,它必須繼續使用它自己的資源。問題是,即使某些文件不存在,函數File.Exists也會爲它們返回true。File.Exists返回True時應該是False

以下是錯誤的圖像:

Error

下面是查找文件併產生錯誤代碼:

string[] vmtLines = null; 
if (File.Exists(vmtFile)) 
{ 
    try { vmtLines = File.ReadAllLines(vmtFile); } 
    catch (Exception e) { Debug.Log(vmtFile + " Exists: " + File.Exists(vmtFile) + ", " + e.Message); } 
} 
+1

vmtFile聲明在哪裏? – Programmer

+0

如果說它存在,框架沒有被破壞的可能性很高。你刷新,重新排序,啓用顯示隱藏和系統文件等? –

+0

對不起,我剛剛解決它,據說。謝謝你讓我知道,而且它現在還在破碎? –

回答

1

原來,問題不在C#,Unity或我的編程。看起來有一個稱爲con的文件存在問題。我在cmd測試出來,看看我是否可以使用記事本打開該文件con.vmt,這裏發生了什麼事:

Con

然後我想看看,如果同樣的事情在同其他文件發生目錄:

Random File

它打開就好了。然後我想看看是不是有這是通過打開一個文件,名爲COM問題只是3個字母的文件名:

Com

它沒有一些奇怪的問題,那麼我想看看這是一件帶有擴展名VMT和文件名CON:

ABC

它有同樣的問題。我在父目錄中嘗試了同樣的事情,並且文件名con出現了同樣的問題。所以我認爲這發生在任何地方。

謝謝@Programmer,@CharlesMager,@AlexK,@Quantic,@ScottChamberlain和@LarsTech試圖提供幫助。這是一個奇怪的問題

+0

請參閱[Windows和重命名文件夾,'con'問題](http://stackoverflow.com/q/448438/719186) – LarsTech

+0

@LarsTech哇!我很高興這個問題沒有持續過多的時間。感謝您的參考和幫助:) –