過去にいくつかの同様の質問があったことを知っています。また、API呼び出しを使用してファイルシステムを使用Directory.Exists()
またはFile.Exists()
チェックできることも知っていますが、入力文字列に基づいてこの決定を下そうとしています。
public bool ValidateOutputFilename ( string sPath )
{
// check if sPath is actually a filename
}
私の推測では、フォルダ名のように見えるもの(拡張子はないが末尾はない\
)が実際にはファイルである可能性があるため(たとえばC:\A\B\C
、ファイルまたはフォルダを表す場合、またはその逆の場合)、それは不可能だと思います。
ファイルシステムのチェックを避けたい理由は、パスが存在する場合と存在しない場合がありsPath
、ネットワークの場所を表す場合があるためです。この場合、ファイルシステムのクエリは遅くなります。
まだ考えていないアイデアを誰かに勧めてもらえるといいなと思っています。