powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как проще расшифровать опции командной строки
11 сообщений из 11, страница 1 из 1
Как проще расшифровать опции командной строки
    #34871467
A+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A+
Гость
Устал искать...
Задача: корректно расшифровать опции командной строки, т.е. программа из
java myApp -mode reader -date 21:00:00 12.10.2007 > report.txt
должна понять, что:
режим - reader

дата-время - 21:00:00 12.10.2007

отчет выводить в файл report.txt

Пока не нашел ничего, кроме regex'а...
Неужели нет более мощного средства обработки таких строк?
Например, какой-нибудь класс TheClassINeed , чтобы задачу можно
было решить примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
	
	 public   static   void  main (String[] args){
		StringBuffer sb =  new  StringBuffer();
		String arguments =  null ;
		String mode;
		String date;
		String outputFileName;
		TheClassINeed myClass; //!!!
		
		 for  (String argument: args){
			sb.append(argument+" ");
			System.out.println(sb.toString());
		}
		
		 if  (sb.length() !=  0 ){
			arguments = sb.toString();
			System.out.println(arguments);
		}
		
		 if  (arguments !=  null ){
			myClass.setSource(arguments);
			mode = myClass.getToken("-mode");
			date = myClass.getToken("-date");
			outputFileName = myClass.getToken(">");
		}
		
		//havy crunch goes here ....
	}//public static void main (String[] args)

Вопрос: каково настоящее название TheClassINeed ?
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34871498
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A+
Вопрос: каково настоящее название TheClassINeed ?

http://commons.apache.org/cli/
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34871564
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поищи args4j, удобная штука с аннотациями
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34871574
A+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A+
Гость
Оперативно!
Сижу - изучаю.
А в JDK ничего подобного нет?

off-top: я тоже в школе немецкий изучал. :(
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34872800
super
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты не пробовал обращаться к элементам строки с помощью args[0],args[1], ..... и т.д.
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34872825
super
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
public static void main (String[] args){
if {args[0]=="-mode"} String mode = args[1];
if {args[2]=="-date"} String date =args[3]+args[4] ;
}
можно вот так.Если я тебя правильно понял
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34874814
A+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A+
Гость
to super:
Некоторые аргументы могут отсутствовать, могут быть поменяны местами и проч.

Пока проблему решил с помощью java.util.regex'а... Если приложение
разрастется, то можно будет использовать то, что посоветовали
предыдущие товарищи.

P.S.: Спасибо всем ответившим.
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34874878
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A+to super:
Некоторые аргументы могут отсутствовать, могут быть поменяны местами и проч.
Он тебе дал кальку. Ты же можешь расширить. Бежишь по аргументам. Если это "-mode", значит СЛЕДУЮЩИЙ это значение аргумента (тут уж они перепутаны не могут быть). И т.д. Потом проверяешь все это на валидность.
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34875161
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
superpublic static void main (String[] args){
if {args[0]=="-mode"} String mode = args[1];
if {args[2]=="-date"} String date =args[3]+args[4] ;
}
можно вот так.Если я тебя правильно понял
тока что проверил работать нибудит
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34876275
super
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения, конечно,некоректно выполняется сравнение,перепутал немного
public static void main (String[] args){
if (args[0].equals("-mode")) String mode = args[1];
if (args[2].equals("-date")) String date =args[3]+" "+args[4] ;
}
так точно работает,сам проверил только что
...
Рейтинг: 0 / 0
Как проще расшифровать опции командной строки
    #34876278
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
superпрошу прощения, конечно,некоректно выполняется сравнение,перепутал немного
public static void main (String[] args){
if (args[0].equals("-mode")) String mode = args[1];
if (args[2].equals("-date")) String date =args[3]+" "+args[4] ;
}
так точно работает,сам проверил только чтовау, ты супер, детка
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как проще расшифровать опции командной строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]