有效地区分文件路径与URI / URL

时间:2012-08-13 00:31:28

标签: c# url path

我有一个非常简单的文件传输应用程序(C#.NET),它允许用户在本地文件系统上将文件从一个文件位置移动到另一个文件位置,或者将文件移动到SFTP位置。

文件操作由一个简单的XML文件定义,该文件标识每个复制活动的源和目标,有效字符串可以是本地文件路径C:\SomePath\SomeFile.txt,也可以是SFTP URL sftp://somesite.com/somepath/somefile.txt。 / p>

程序执行的实际操作因源和目标类型而异。 (类似于Windows资源管理器如何获取路径或URL)。

我的问题是,除了一般的字符串解析或reg-ex匹配之外,还有一种有效的或内置的方法可以将给定字符串分类为文件路径类型(驱动器号,冒号,反斜杠)和URL(协议,冒号,双斜线等)?

这个问题类似于Distinguish a filename from an URL,但我正在寻找.NET解决方案。

1 个答案:

答案 0 :(得分:2)

if (new Uri(someString).IsFile)

如果字符串不是有效路径或URI,则会出现异常。

您还可以查看Uri.Scheme属性,该属性将返回filehttp等。