system.io.path говорит, что юридические символы недопустимы - PullRequest
0 голосов
/ 09 января 2012

Я пишу утилиту, которая работает с пользовательскими архивами, и один из этих тестовых архивов имеет имя файла "".export. В моем коде я перебираю все расширения файлов и проверяю расширение файлов, чтобы игнорировать определенные типы файлов (например, thumb.db).

Когда я пишу Path.GetExtension(v) или Path.GetFileName(v), я получаю исключение с сообщением «Недопустимые символы в пути». ", по-видимому, незаконно, однако в windows -edit не имеет значения, что это незаконно, я изначально думал, что символ ') Я могу использовать это имя файла. Могу ли я сказать, чтобы разрешить этот персонаж? Нужно ли мне писать свои собственные GetExtension и GetFileName? Что я могу сделать?

1 Ответ

6 голосов
/ 09 января 2012

Нет, вы не можете заставить файловую систему принимать символы, которые она не хочет. Windows просто не позволяет вам использовать кавычки в именах файлов.

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

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