如何确定C#/ .NET中是否存在文件?

Dar*_*mas 173 .net c# io

我想在C#中测试一个包含文件路径的字符串,以确定是否存在该文件(类似于-ePerl或os.path.exists()Python中的测试).

Dan*_*ngs 288

使用:

File.Exists(path)
Run Code Online (Sandbox Code Playgroud)

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

编辑:在System.IO中

  • 即使文件存在,File.Exists(path)也返回false但是调用者没有读取它的权限.是否有不同的方法来处理这种情况并检查文件是否存在,即使调用者无法读取它? (14认同)
  • @ADTC:从安全的角度来看,以这种方式工作是正常的,从开发人员的角度来看,这可能会使事情变得更复杂。如果您尝试创建文件,在这种情况下会得到例外吗? (2认同)
  • @ADTC偶然发现,以为我可能会提到保管箱目录。可以在您具有创建或写入权限但没有读取权限的地方进行设置。这并不是直接与这个问题相关,只是它们并不像人们想象的那样奇怪。 (2认同)

Pet*_*ann 52

System.IO.File:

using System.IO;

if (File.Exists(path)) 
{
    Console.WriteLine("file exists");
} 
Run Code Online (Sandbox Code Playgroud)


pir*_*rho 25

System.IO.File.Exists(路径)

MSDN


小智 7

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

 return File.Exists(FinalPath);
Run Code Online (Sandbox Code Playgroud)