Страницы

Поиск по вопросам

среда, 10 октября 2018 г.

Как проверить корректность имени создаваемого файла?

Есть строка, в которой пользователь указал имя создаваемого файла. Есть необходимость проверить корректность имени. Если есть недопустимые символы, то заменить их, к примеру на "_". try не подходит, т.к. причин исключений при создании файла много (нет места на жестком диске, нет прав на создание в данной директории и т.д.). Подскажите, как проверить корректность имени?


Ответ

Для себя я сделал вот такой метод расширения:
///

/// удаляет все символы которые не разрешены в именах файлов /// /// /// public static String RemoveInvalidChars(this String file_name) { foreach (Char invalid_char in Path.GetInvalidFileNameChars()) { file_name = file_name.Replace(oldValue: invalid_char.ToString(), newValue: ""); } return file_name; }
в параметр newValue можете добавить символ по своему усмотрению
Если хотите одной строкой то можно вот так:
String new_file_name = Path.GetInvalidFileNameChars().Aggregate(invalid_file_name, (current, invalid_char) => current.Replace(invalid_char.ToString(), "_"));

Комментариев нет:

Отправить комментарий