Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > как проверить расширение файлов ввода-вывода


Автор: ElKa 2.7.2008, 12:27
при запуске программы в командной строке указываются имена файлов ввода и вывода

 
java Prog input.xxx output.yyy
 

как проверить, соответствуют ли их расширения нужному формату, и выдать ошибку, если не соответствуют? 


Автор: Royan 2.7.2008, 12:45
Думаю вот это вам должно помочь: http://java.sun.com/docs/books/tutorial/essential/environment/cmdLineArgs.html, а для того чтобы проверить является ли введенное расширение нужным можно просто писать 
Код

".xxx".endsWith(args[1]);

Автор: Shurr 2.7.2008, 12:50
Регэкспы вполне могут справиться с проверкой по шаблону.

Автор: ElKa 2.7.2008, 13:07
вот так? 

Код


if ( !args[0].endsWith(".xxx") || !args[1].endsWith(".yyy") ) System.out.println("exception");


Автор: Shurr 2.7.2008, 13:19
ElKa
Так, если тебе надо проверить именно расширения. Только обрати внимание на то, что если ты пишешь под win - регистр символов может не совпадать, например "xXx" уже не пройдет. В этом случае для корректной проверки желательно сбросить их в верхний или нижний регистр, например так:
Код
if ( !args[0].toLowerCase().endsWith(".xxx") || !args[1].toLowerCase().endsWith(".yyy") ) System.out.println("exception");


P.S. Ну и не забудь проверить предварительно args[0] и args[1] на null, а то если запустят без параметров - получишь NullPointerException.

Автор: LSD 2.7.2008, 13:34
Опять лисапеды smile

http://commons.apache.org/io/ в помощь, конкретно http://commons.apache.org/io/api-release/org/apache/commons/io/filefilter/WildcardFileFilter.html.

Автор: ElKa 3.7.2008, 12:15
спасибо! сделала   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)