有没有办法验证有效的路径/文件名?

时间:2015-02-10 14:52:52

标签: c# file path

有没有办法验证有效的路径/文件名?文件名称已知给客户。不知道放置.exe和其他文件的位置。

2 个答案:

答案 0 :(得分:1)

要检查指定路径中是​​否存在文件,请使用System.IO.File.Exists(string path)

if (File.Exists(pathFileName))
{
    ...
}
else
{
    ...
}

要检查路径或文件名是否有效(I.E.不包含非法字符),请使用System.IO.Path.GetInvalidPathChars()System.IO.Path.GetInvalidFileNameChars()

if (Path.GetInvalidFileNameChars().Any(c => pathFileName.Contains(c)))
{
    ...
}

答案 1 :(得分:0)

由于您尝试验证路径是否确实存在,因此您应该能够使用System.IO

var path = "...";
if(Directory.Exist(path))
{
     // Valid / Exist
}

您也可以通过简单地使用File.Exist来验证文件。可以找到信息here

  

允许path参数指定相对路径或绝对路径   信息。相对路径信息被解释为相对于   当前的工作目录。尾随空格被移除   在检查目录之前是否有路径参数的结尾   存在。 path参数不区分大小写。如果你没有   至少具有该目录的只读权限,即Exists方法   将返回false。如果发生任何错误,Exists方法返回false   在尝试确定指定的文件是否存在时。这可能发生   在引发异常的情况下,例如传递文件名   无效字符或字符太多,磁盘失败或丢失,   或者如果调用者没有读取文件的权限。