正如标题所说,我不知道我的代码有什么问题,但即使文件存在,if (File.Exists)
也会给出否定结果。
以下是我的代码
if (File.Exists(ZFileConfig.FileName.Replace(".xml", "_abc.xml")))
此处ZFileConfig.FileName
为E:\\Application\\Application\\bin\\Debug\\resources\\FirstFile.xml
令人惊讶ZFileConfig.FileName.Replace(".xml", "_abc.xml")
给了我E:\\Application\\Application\\bin\\Debug\\resources\\FirstFile_abc.xml
这就是我们所需要的。 EVENTHOUGH IF
愚蠢地返回TRUE。
答案 0 :(得分:9)
您的文件实际上名为abc_RotateFlip.xml.xml
。
我无法想象为什么任何程序员都会允许隐藏文件扩展名,但是你的Excel文件显示它们确实是隐藏的。把它关掉!选择了解计算机内部的情况!
您还可以使用此注册表脚本更改该设置;
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"HideFileExt"=dword:00000000
答案 1 :(得分:2)
请查看FileInfo
:
FileInfo fi = new FileInfo(@"_abc.xml");
bool isExists = fi.Exists;
Generally如果要对文件执行单个操作,请使用File类。如果要对同一文件执行多个操作,请使用FileInfo。
这样做的原因是因为访问文件时进行了安全检查。创建FileInfo实例时,仅执行一次检查。但是,每次使用静态File方法时都会执行检查。