Существует ли стандартная функция для проверки правильности указанного каталога?
Причина, по которой я спрашиваю, заключается в том, что я получаю от пользователя абсолютную строку каталога и имя файла, и я хочу проверить его правильность.
Для файла
File.Exists(string)
Для справочника
Directory.Exists(string)
Примечание: Если вы повторно используете объект, вам следует рассмотреть возможность использования класса FileInfo вместо статического класса File. Статические методы класса File каждый раз делают возможную ненужную проверку безопасности. FileInfo - DirectoryInfo - Файл - Каталог
FileInfo fi = new FileInfo(fName); if (fi.Exists) //Do stuff
OR
DirectoryInfo di = new DirectoryInfo(fName); if (di.Exists) //Do stuff
if(System.IO.File.Exists(fileOrDirectoryPath)) { //do stuff }
Это должно сработать!
Возможно, вы также захотите учесть, что действительный путь сам по себе не является допустимым на 100%. Если пользователь указывает C: \ windows \ System32 или на дисковод компакт-дисков, операционная система может выдать исключение при попытке записи.
Если это не может быть новый каталог, вы можете просто проверить, существует ли он.
Похоже, вы также можете использовать Path.GetInvalidPathChars для проверки на недопустимые символы.
Предыдущий ответ верен в отношении проверки, существует ли данный файл или каталог. Класс Path также содержит ряд функций, которые полезны для проверки или манипулирования различными компонентами пути.