Spec-Zone .ru
спецификации, руководства, описания, API
|
Приложение Java может принять любое число параметров от командной строки. Это позволяет пользователю определять конфигурационную информацию, когда приложение запускается.
Пользователь вводит параметры командной строки, вызывая приложение и определяет их после имени class, который будет выполнен. Например, предположите вызванное приложение Java Sort
строки видов в файле. Сортировать данные в названном файле friends.txt
, пользователь вошел бы:
java Sort friends.txt
Когда приложение запускается, система времени выполнения передает параметры командной строки к основному методу приложения через массив String
s. В предыдущем примере, параметры командной строки, которые передают к Sort
приложение в массиве, который содержит сингл String
: "friends.txt"
.
пример выводит на экран каждый из своих параметров командной строки на строке отдельно:Echo
public class Echo { public static void main (String[] args) { for (String s: args) { System.out.println(s); } } }
Следующий пример показывает, как пользователь мог бы работать Echo
. Ввод данных пользователем курсивом.
java Echo Drink Hot Java Drink Hot Java
Отметьте, что приложение выводит на экран каждое слово — Drink
, Hot
, и Java
— на строке отдельно. Это - то, потому что пробел разделяет параметры командной строки. Иметь Drink
, Hot
, и Java
интерпретируемый как единственный параметр, пользователь присоединился бы к ним, включая их в пределах кавычек.
java Echo "Drink Hot Java" Drink Hot Java
Если приложение должно поддерживать числовой параметр командной строки, оно должно преобразовать a String
параметр, который представляет число, такой как "34", к числовому значению. Вот фрагмент кода, который преобразовывает параметр командной строки в int
:
int firstArg; if (args.length > 0) { try { firstArg = Integer.parseInt(args[0]); } catch (NumberFormatException e) { System.err.println("Argument" + " must be an integer"); System.exit(1); } }
parseInt
броски a NumberFormatException
если формат args[0]
не допустимо. Весь из Number
классы — Integer
, Float
, Double
, и так далее — имеют parseXXX
методы, которые преобразовывают a String
представление числа к объекту их типа.