Проверка допустимости имени файла
От: Аноним  
Дата: 05.09.05 07:04
Оценка:
Есть ли в .NET'е возможность проверки допустимости имени файла?
Т.е. ввели имя файла — проверить, можно ли создать файл с таким именем.
Не охода regexp'ами это дело проверять.
Проверка допустимости имени файла
От: Аноним  
Дата: 05.09.05 07:27
Оценка:
Можно проще — попробовать создать файл и, если не получится, отловить соответствующий exception. Либо, что еще проще, осуществить проверку на недопустимые символы и слишком большую длину имени (см. MSDN).
--
VBStreets, Editor-in-Chief
http://blogs.gotdotnet.ru/personal/gaidar/

What is a rigorous definition of rigor?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Проверка допустимости имени файла
От: Stewe  
Дата: 05.09.05 07:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть ли в .NET'е возможность проверки допустимости имени файла?

А>Т.е. ввели имя файла — проверить, можно ли создать файл с таким именем.
А>Не охода regexp'ами это дело проверять.

if (YourPath.IndexOfAny(Path.InvalidPathChars) > -1)
Re[2]: Проверка допустимости имени файла
От: TK Лес кывт.рф
Дата: 05.09.05 08:03
Оценка:
Hello, "Stewe"
>
> А>Есть ли в .NET'е возможность проверки допустимости имени файла?
> А>Т.е. ввели имя файла — проверить, можно ли создать файл с таким именем.
> А>Не охода regexp'ами это дело проверять.
>
>
> if (YourPath.IndexOfAny(Path.InvalidPathChars) > -1)
>


Этого явно не достаточно. некоторые имена файлов могут быть зарезервированы.
Например, nul, con и т.п.
Posted via RSDN NNTP Server 1.9
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Проверка допустимости имени файла
От: Аноним  
Дата: 05.09.05 08:53
Оценка:
Здравствуйте, Stewe, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А>>Есть ли в .NET'е возможность проверки допустимости имени файла?

А>>Т.е. ввели имя файла — проверить, можно ли создать файл с таким именем.
А>>Не охода regexp'ами это дело проверять.

S>
S>if (YourPath.IndexOfAny(Path.InvalidPathChars) > -1)
S>


Имя файла *.* — способ не работает
Проверка допустимости имени файла
От: Аноним  
Дата: 05.09.05 10:02
Оценка:
All members of the Path class are static and can therefore be called without having an instance of a path.
Note In members that accept a path as an input string, that path must be well-formed or an exception is raised. For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Therefore, the path is malformed and an exception is raised. Similarly, a path or a combination of paths cannot be fully qualified twice. For example, "c:\temp c:\windows" also raises an exception in most cases. Ensure that your paths are well-formed when using methods that accept a path string.

Так что используйте какой нибудь метод класса Path,
в случае чего он кинет exception
shura


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Проверка допустимости имени файла
От: -FireFly- Россия  
Дата: 05.09.05 15:48
Оценка:
если хочется еще и *.* и т.п., можно попытаться использовать
Directory.GetFiles Method (String, String)

и посмотреть, не выкинет ли исключение.

[msdn]ArgumentException — path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.
-or-

searchPattern does not contain a valid pattern.

PathTooLongException — The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. [/msdn]
--
Carpe diem
Re: Проверка допустимости имени файла
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.09.05 20:01
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Есть ли в .NET'е возможность проверки допустимости имени файла?

А>Т.е. ввели имя файла — проверить, можно ли создать файл с таким именем.
А>Не охода regexp'ами это дело проверять.

Мне кажется этого просто не нужно делать. Создавай файл с заданным имененм. Если не создастся, выдашь сообщение об ошибки.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.