我正在开发一个需要在用户定义的目录中查找文件的程序。如果文件不存在,则必须继续使用它自己的资源。问题是,即使某些文件不存在,函数File.Exists也会为它们返回true。
以下是错误的图片:
以下是查找文件并生成错误的代码:
string[] vmtLines = null;
if (File.Exists(vmtFile))
{
try { vmtLines = File.ReadAllLines(vmtFile); }
catch (Exception e) { Debug.Log(vmtFile + " Exists: " + File.Exists(vmtFile) + ", " + e.Message); }
}
答案 0 :(得分:1)
事实证明问题不在C#,Unity或我的编程中。似乎有一个名为con的文件存在问题。我在cmd中测试一下,看看我是否可以用记事本打开文件con.vmt,这里发生了什么:
然后我试着看看同一目录中的其他文件是否也发生了同样的事情:
它开得很好。然后我尝试通过打开名为com的文件来查看是否只有3个字母的文件名,这是问题:
它没有一些奇怪的问题,然后我试着看看它是否与扩展名vmt和文件名con:
它有同样的问题。我在父目录中尝试了同样的事情,并且文件名con出现了同样的问题。所以我认为这种情况发生在任何地方。
感谢@Programmer,@ CharlesMager,@ Alexx,@ Quantic,@ ScottChamberlain和@LarsTech试图提供帮助。这是一个奇怪的问题