2016-07-26 129 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哇!我很高兴这个问题没有持续过多的时间。感谢您的参考和帮助:) –