Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.165.246] |
|
Сообщ.
#1
,
|
|
|
Нужно проверить валидность пути для создания файла с учетом всего и вся что только может быть, в сети ничего не нашел.
Есть всякие отдельные куски на проверку того-сего но вот что бы все в одном такого не нашлось. Может есть у кого наработки ? |
Сообщ.
#2
,
|
|
|
DirectoryExists() |
Сообщ.
#3
,
|
|
|
Самое универсальное - проверять само создание файла. А так набор валидных путей различается для каждой ОС. В принципе, проверка на наличие невалидных символов делается тривиально, даже без регулярок.
|
Сообщ.
#4
,
|
|
|
Забыл написать, директории может и не быть вовсе, а форсить её создание как-то не красиво.
ОС Win. На счет проверки названий, все бы хорошо но меня смущает что путь может быть UNСный \\Server01\user\docs\Letter.txt \\?\UNC\Server01\user\docs\Letter.txt \\?\C:\user\docs\Letter.txt C:\user\docs\somefile.ext:alternate_stream_name ./inthisdir ../../greatgrandparent \\.\[physical_device]\ |
Сообщ.
#5
,
|
|
|
Jiro
DirectoryExists() поддерживает UNC |
Сообщ.
#6
,
|
|
|
Пока что на вид по-прежнему ничего сложного, проверка на префикс и на недопустимые символы. Уже бы за пару часов написал. Ты всё еще не сказал, что есть валидность в данном контексте, поэтому более детально советовать сложно. Валиден ли путь z:\, если на машине нет этого диска? Валиден ли c:\..\.. ?
|