Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定C#/.NET中是否存在文件?_C#_.net_Io - Fatal编程技术网

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

如何确定C#/.NET中是否存在文件?,c#,.net,io,C#,.net,Io,我想测试一个包含文件路径的字符串在C#中是否存在该文件(例如Perl中的-e测试或Python中的os.path.exists())。使用: File.Exists(path) MSDN: 编辑:在System.IO中System.IO.File.Exists(路径) : 输入完整路径。避免相对路径 return File.Exists(FinalPath); 我使用WinForms,我使用File.Exists(字符串路径)的方式是下一个: public bool FileExists(

我想测试一个包含文件路径的字符串在C#中是否存在该文件(例如Perl中的
-e
测试或Python中的
os.path.exists()
)。

使用:

File.Exists(path)
MSDN:

编辑:在System.IO中

System.IO.File.Exists(路径)


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

 return File.Exists(FinalPath);

我使用WinForms,我使用File.Exists(字符串路径)的方式是下一个:

public bool FileExists(string fileName)
{
    var workingDirectory = Environment.CurrentDirectory;
    var file = $"{workingDirectory}\{fileName}";
    return File.Exists(file);
}

fileName必须包含扩展名,如
myfile.txt

File.Exists(path),即使文件存在,但调用方没有读取该文件的权限,也返回false。有没有其他方法来处理这种情况,并检查文件是否存在,即使调用者无法读取它?@ADTC:从安全角度来看,这样做听起来很正常,从开发人员的角度来看,这可能会使事情变得更复杂。如果您尝试创建一个文件,您会遇到例外情况吗?@ADTC刚刚偶然发现,并认为我可能会提到drop box目录。可以在您具有创建或写入权限但没有读取权限的位置设置。这并不是说它与这个问题直接相关,只是它们没有人们想象的那么奇怪。旁注:File.Exists在Google驱动器文件流G:Drive上返回False,如果路径的大小写与G:上的实际大小写不完全匹配。通常在任何物理驱动器上,外壳都不重要,所以我想知道,Exists方法有什么问题吗?@CTZStef这是谷歌虚拟驱动器的怪癖,而不是框架方法。
public bool FileExists(string fileName)
{
    var workingDirectory = Environment.CurrentDirectory;
    var file = $"{workingDirectory}\{fileName}";
    return File.Exists(file);
}