捕获无效的文件路径

时间:2010-06-05 00:58:02

标签: c#

我有一个从文本文件中读取一堆路径值(8或9个)的函数。它稍后在应用程序中使用这些路径来读取文件。什么是检查这些文件路径的有效性的最佳方法。我可以做一些单一的捕获吗?

5 个答案:

答案 0 :(得分:2)

System.IO.Directory.Exists(字符串路径) System.IO.File.Exists(字符串路径)

答案 1 :(得分:1)

我只是在循环中使用File.Exists,非常简单易读。有一种更时尚的方式吗?可能。

答案 2 :(得分:0)

也许正则表达式可能是你的选择,至少在Windows环境中如此。这样可以避免像File.Exists那样进行磁盘访问。资料来源:http://www.csharp411.com/check-valid-file-path-in-c/

public bool IsValidPath(string path)
{
  Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
  return r.IsMatch( path );
}

答案 3 :(得分:0)

您可以使用File.Exists和/或Directory.Exists路径可以是目录。

static void Main(string[] args)
{
    List<string> paths = new List<string>{"C:\\path1.txt", "c:\\path2.txt"};
    bool allValid = paths.All(path=>File.Exists(path));
}

答案 4 :(得分:0)

考虑使用System.IO.Path.GetFullPath方法。与Path类的大多数成员一样,它会验证您传入的路径,并在路径无效时抛出ArgumentException