Как убедиться в правильности пути к файлу? - PullRequest
4 голосов
/ 08 сентября 2010

Я хотел бы убедиться, что данное имя файла является действительным, даже если это означает замену или удаление некоторых символов. В настоящее время я делаю это:

Path.GetInvalidFileNameChars ().ToList ().ForEach (x => path.Replace (x, '-'));

Но, насколько я могу судить, это не гарантирует получение правильного имени файла . Есть ли лучший способ, чем выполнить вышеуказанную предварительную проверку с последующей попыткой открыть файл?

Редактировать: Найдите ошибку в приведенном выше коде;)

Незначительное добавление: я бы предпочел, чтобы имя файла было максимально читабельным, поэтому следует избегать использования какого-либо BASE64.

1 Ответ

3 голосов
/ 08 сентября 2010

Один из способов, который мы использовали в прошлом, - это заменить все символы, которые не входят в какую-то определенную полосу (буквенно-цифровые и дефисы / подчеркивания), специальными символами, такими как дефис. Это предполагает, что большинство файловых систем позволяет эту полосу. Но это небезопасно, скажем, в будущем FS, который, возможно, не разрешает, скажем, числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...