С# проверьте правильность назначения файла

Есть ли стандартная функция для проверки правильности указанного каталога?

Причина, по которой я спрашиваю, заключается в том, что я получаю абсолютную строку каталога и имя файла от пользователя, и я хочу проверить правильность местоположения, чтобы убедиться, что оно действительно.


person TK.    schedule 12.02.2009    source источник


Ответы (5)


Для файла

File.Exists(string)

Для каталога

Directory.Exists(string)

ПРИМЕЧАНИЕ. Если вы повторно используете объект, вам следует подумать об использовании класса FileInfo вместо статического класса File. Статические методы класса File каждый раз выполняют возможную ненужную проверку безопасности.
Информация о файле – Информация о каталоге - Файл - Каталог

 FileInfo fi = new FileInfo(fName);
 if (fi.Exists)
    //Do stuff

OR

DirectoryInfo di = new DirectoryInfo(fName);
 if (di.Exists)
    //Do stuff
person cgreeno    schedule 12.02.2009

if(System.IO.File.Exists(fileOrDirectoryPath))
{
    //do stuff
}

Это должно сработать!

person xan    schedule 12.02.2009

Если это не может быть новый каталог, вы можете просто проверить, существует ли он.

Похоже, вы также можете использовать Path.GetInvalidPathChars для проверки недопустимых символов.

person Instance Hunter    schedule 12.02.2009

Вы также можете принять во внимание, что действительный путь сам по себе не является действительным на 100%. Если пользователь предоставляет C:\windows\System32 или компакт-диск, операционная система может выдать исключение при попытке записи.

person Rad    schedule 20.02.2009

Предыдущий ответ верен в отношении проверки существования данного файла или каталога. Класс Path также содержит ряд функций, полезных для проверки различных компонентов пути или управления ими.

person Crippledsmurf    schedule 12.02.2009