我试图确定用户输入的字符串对于表示文件夹的路径是否有效。有效是指格式正确。
在我的应用程序中,该文件夹代表安装目的地。提供的文件夹路径是有效的,我想,以确定是否该文件夹存在,如果它不创建它。
我目前正在使用IO.Directory.Exists( String path )
。我发现这很好用,除非用户没有正确格式化字符串。发生这种情况时,此方法将返回false,表示该文件夹不存在。但这是一个问题,因为之后我将无法创建该文件夹。
从我的谷歌搜索发现,我建议使用正则表达式来检查格式是否正确。我没有使用正则表达式的经验,并且想知道这是否可行。这是我发现的:
Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
return r.IsMatch( path );
将正则表达式测试与结合使用是否Directory.Exists()
能给我一个足够好的方法来检查路径是否有效以及路径是否存在?我知道这将随操作系统和其他因素而变化,但是该程序仅针对Windows用户。