C#中,用什么方法可以判断一个字符串是不是合法的绝对路径?

C#中,用什么方法可以判断一个字符串是不是合法的绝对路径?
求救啊!请写的具体一点,小弟的C#功底很弱!
一楼的兄弟,我想知道的是路径是否合法,不是是否存在,比如绝对路径一定要是C:打头的,输入其他的就是错误的这种啊!

鉴于你是初学,提供一个简单可行、但效率不是很高的算法。
首先判断开头是不是一个字母加一个冒号,这个简单就不说了。
string s="C:\xxxx";//待检验的字符串
s="C:\\forTestPurpose"+s.Substring(1,s.Length-2);
//其中C:\forTestPurpose是一个自行设定的路径,目的是不让有冲突,用完之后直接删除。
DirectoryInfo result=null;
boolean isValid=true;
try
{
result=Directory.CreateDirectory(s);
}
catch(ArgumentException e)
{
isValid=false;//s格式有问题,不能
}
catch
{

}
if(isValid)
{
result.Delete(true);//用完删除
}
这种方式的缺点显而易见,但是一般够用了,而且保证判断结果是正确的。当然肯定会有其他方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-01
那你可以定义一个函数,把这个字符串从第一个字符到最后比较一下嘛,我随便写了个,比较了前面几个字符
private bool CheckPath(string pathStr)
{
pathStr=pathStr.ToUpper();
string diskStr="ABCDEFGHIJK"; //ABC等磁盘
if(pathStr.Length>=4) //C:\File 长度至少要有4个
{
//.取第一个,看是否是盘符
string fristChar=pathStr.Substring(0,1);
if(diskStr.IndexOf(fristChar)>=0)
{
//..然后再看后面是不是 :\ 这样的
string lastStr=pathStr.Substring(1,2);
if(lastStr==":\\")
{
return true;
}
}
}
return false;
}
第2个回答  推荐于2016-01-29
//判断绝对路径
//filepath是文件路径

if(System.IO.File.Exists(filepath))
{
System.Web.HttpContext.Current.Response.Write("<script>alert('文件存在');</script>");
}
else
{
System.Web.HttpContext.Current.Response.Write("<script>alert('文件不存在');</script>");
}

//判断相对路径
if(System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(filepath)))
{
System.Web.HttpContext.Current.Response.Write("<script>alert('文件存在');</script>");
}
else
{
System.Web.HttpContext.Current.Response.Write("<script>alert('文件不存在');</script>");
}本回答被提问者采纳
第3个回答  2008-03-02
hpconline的方法是解决此类问题常见的方法之一,但最好的方式是使用正则表达式,虽然开始的时候可能需要花一些时间学习正则表达式的语法,但以后碰到了类似的问题,解决起来就非常方便了。
第4个回答  2008-03-09
sb

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网