指定したディレクトリが有効であることを確認する標準機能はありますか?
私が尋ねる理由は、ユーザーから絶対ディレクトリ文字列とファイル名を受け取っており、その場所が有効であることを確認するために健全性をチェックしたいからです。
指定したディレクトリが有効であることを確認する標準機能はありますか?
私が尋ねる理由は、ユーザーから絶対ディレクトリ文字列とファイル名を受け取っており、その場所が有効であることを確認するために健全性をチェックしたいからです。
ファイルの場合
File.Exists(string)
ディレクトリの場合
Directory.Exists(string)
注:
オブジェクトを再利用する場合は、FileInfo クラスと静的 File クラスの使用を検討する必要があります。File クラスの静的メソッドは、不要なセキュリティ チェックを毎回行う可能性があります。
ファイル情報-ディレクトリ情報-ファイル-ディレクトリ
FileInfo fi = new FileInfo(fName);
if (fi.Exists)
//Do stuff
また
DirectoryInfo di = new DirectoryInfo(fName);
if (di.Exists)
//Do stuff
if(System.IO.File.Exists(fileOrDirectoryPath))
{
//do stuff
}
これでうまくいくはずです!
また、有効なパス自体は 100% 有効ではないことも考慮する必要があります。ユーザーが C:\windows\System32 または CD ドライブを指定した場合、オペレーティング システムは書き込みを試みるときに例外をスローする可能性があります。
新しいディレクトリにできない場合は、存在するかどうかを確認できます。
Path.GetInvalidPathChars を使用して無効な文字をチェックすることもできるようです。
特定のファイルまたはディレクトリが存在するかどうかの確認に関しては、前の回答は正しいです。Path クラスには、パスのさまざまなコンポーネントの検証または操作に役立つ多くの関数も含まれています。