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を返すプロパティを確認することもできます。filehttp

于 2012-08-13T00:35:24.050 に答える