1

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

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

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

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

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

4

1 回答 1

2
if (new Uri(someString).IsFile)

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

您还可以检查Uri.Scheme属性,它将返回file,http等。

于 2012-08-13T00:35:24.050 回答