3

可能重复:
确定字符串是否是有效的文件路径?
在 C# 中检查文件名是否*可能*有效(不存在)

我有一个方法,它需要一个字符串,该字符串表示具有完整路径的文件名。

我想根据它的格式验证(Guard)这个字符串,看看它是否真的可以代表一个文件名(不是路径的正确性,无论它是否存在)?

例如,如果它类似于以下内容,则不应被接受:“123C:\foo\”

在 C# 中进行此检查的最简单方法是什么?

public void LoadFile(string fileName)
{
  var valid = Check if 'fileName' is in valid format.
  if(!valid)
      throw new ArgumentException(....
}
4

1 回答 1

2

文档中

在接受路径作为输入字符串的成员中,该路径必须格式正确,否则会引发异常。

所以你可以做这样的事情:

public void LoadFile(string fileName)
{
    try
    {
        var path = Path.GetFullPath(fileName);
    }
    catch (NotSupportedException e)
    {
        throw new ArgumentException(...);
    }
}
于 2012-11-01T17:25:33.580 回答