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