应该为False时,File.Exists返回True

时间:2016-07-26 16:20:54

标签: c# unity3d

我正在开发一个需要在用户定义的目录中查找文件的程序。如果文件不存在,则必须继续使用它自己的资源。问题是,即使某些文件不存在,函数File.Exists也会为它们返回true。

以下是错误的图片:

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 个答案:

答案 0 :(得分:1)

事实证明问题不在C#,Unity或我的编程中。似乎有一个名为con的文件存在问题。我在cmd中测试一下,看看我是否可以用记事本打开文件con.vmt,这里发生了什么:

Con

然后我试着看看同一目录中的其他文件是否也发生了同样的事情:

Random File

它开得很好。然后我尝试通过打开名为com的文件来查看是否只有3个字母的文件名,这是问题:

Com

它没有一些奇怪的问题,然后我试着看看它是否与扩展名vmt和文件名con:

ABC

它有同样的问题。我在父目录中尝试了同样的事情,并且文件名con出现了同样的问题。所以我认为这种情况发生在任何地方。

感谢@Programmer,@ CharlesMager,@ Alexx,@ Quantic,@ ScottChamberlain和@LarsTech试图提供帮助。这是一个奇怪的问题

相关问题