如何找出C#/ .NET中是否存在文件?


Answers:


303

用:

File.Exists(path)

MSDN:http : //msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

编辑:在System.IO


14
即使文件存在,File.Exists(path)也会返回false,但是调用者没有读取该文件的权限。有没有其他方法可以处理这种情况并检查文件是否存在,即使调用者无法读取该文件也是如此?
ADTC'3

3
@ADTC:从安全的角度来看,以这种方式工作是正常的,从开发人员的角度来看,这可能会使事情变得更复杂。如果您尝试创建文件,是否会遇到例外情况?
2013年

2
@ADTC迷迷糊糊,以为我可能会提到保管箱目录。可以在您具有创建或写入权限但没有读取权限的地方进行设置。这并不是直接与这个问题相关,只是它们并不像人们想象的那样奇怪。
Ukko

1
旁注:如果路径的大小写与G:上的实际位置不完全匹配,则File.Exists在Google Drive File Stream G:上返回False。通常在任何物理驱动器外壳上都没有关系,所以我想知道,Exists方法是否存在某些问题?
CTZStef

1
@CTZStef是Google虚拟驱动器而不是框架方法的怪癖。
Eugene Mayevski'Callback



4

输入完整路径作为输入。避免相对路径。

 return File.Exists(FinalPath);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.