日期:2014-05-18  浏览次数:20803 次

C# 路径合法性校验
急,C#的路径合法性校验,不要正则表达式,多谢!!!

------解决方案--------------------
File.Exists (string path)
------解决方案--------------------
参考如下代码:
C# code
public bool IsFileNameInvalid(string AFileName)
{
    return string.IsNullOrEmpty(AFileName) || // 空
        AFileName.Length > 260 || // 大于MaxPath                  
        AFileName[0] == '.' || // 无文件名
        AFileName.Contains("\\") || 
        AFileName.Contains("/") ||
        AFileName.Contains(":") ||
        AFileName.Contains("*") ||
        AFileName.Contains("?") ||
        AFileName.Contains("\"") ||
        AFileName.Contains(">") ||
        AFileName.Contains("<") ||
        AFileName.Contains("|");
}

private void button1_Click(object sender, EventArgs e)
{
    Text = IsFileNameInvalid(textBox1.Text).ToString();
}

------解决方案--------------------
如果你是想打开文件的话,直接用File.Exists()判断就得了,如果想创建文件的话,可以先设定好正确的字符串,然后将用户输入的字符一个个的在正确的字符串里查找,找不到的话就是不合法的。
------解决方案--------------------
判断字符串中是否出现Path.InvalidPathChars中定义的无效字符