Аргументите на командния ред могат да бъдат начин за определяне на конфигурационните свойства на приложение и Java не е по-различен. Вместо да щракнете върху иконата на приложение от операционната система, можете да стартирате Ява приложение от прозорец на терминал. Наред с името на приложението могат да следват редица аргументи, които след това се предават на началната точка на приложението (т.е. основния метод, в случая на Java).
Например, NetBeans има редица параметри за стартиране, които могат да бъдат предадени на приложението, когато се стартира от терминален прозорец (напр.
указва версия на JDK, която да се използва вместо стандартната JDK, свързана с приложението NetBeans).
Основният метод
Нека да разгледаме основен метод за да видите къде се появяват аргументите, предадени на приложение:
Аргументите на командния ред могат да бъдат намерени в
Наречен
Например, нека разгледаме приложение, наречено
чието единствено действие е да разпечата аргументите на командния ред, предадени на него:
публичен клас CommandLineArgs {
public static void main (String [] args) {
// проверете дали String масива е празен
ако (args.length == 0)
{
System.out.println ("Не бяха предадени аргументи на командния ред!");
}
// За всеки String в масива String
// разпечатайте струната
за (Аргумент на низ: args)
{
System.out.println (аргумент);
}
}
}
Синтаксис на аргументите на командния ред
Java Runtime Engine (JRE) очаква аргументите да бъдат предадени след определен синтаксис, като така:
java ProgramName value1 value2
По-горе „java“ извиква JRE, което е последвано от името на програмата, която се обаждате. Те са последвани от всякакви аргументи към програмата. Няма ограничение за броя на аргументите, които една програма може да вземе, но редът е от решаващо значение. JRE предава аргументите в реда, в който те се появяват в командния ред. Например, помислете за този кодов фрагмент отгоре:
публичен клас CommandLineArgs2 {
public static void main (String [] args) {
ако (args.length == 0)
{
System.out.println ("Не бяха предадени аргументи на командния ред!");
}
Когато се предават аргументи на Java програма, args [0] е първият елемент от масива (value1 по-горе), args [1] е вторият елемент (value2) и т.н. Кодът args.length () определя дължината на масива.
Преминаване на аргументите на командния ред
В NetBeans можем да предаваме аргументи от командния ред, без да се налага да изграждаме приложението и да го стартираме от терминален прозорец. За да зададете аргументите на командния ред:
- Щракнете с десния бутон върху папката на проекта в
Проекти
прозорец. - Избери
Имоти
опция за отварянеСвойства на проекта
прозорец. - В
Категории
списък от дясната страна, изберететичам
- В
Аргументи
текстово поле, което се показва, посочете аргументите на командния ред, които искате да предадете на приложението. Например, ако влеземМорков ябълков банан
вАргументи
textbox и стартирайтеCommandLineArgs
програма, изброена по-горе, ще получим изхода:
Разбор на аргументите на командния ред
Обикновено аргументът на командния ред се предава с някаква информация за това какво да се прави със стойността, която се предава. Аргументът, информиращ приложението за какво е аргументът, обикновено има тире или две преди името му. Например, примерът на NetBeans за параметъра за стартиране, определящ пътя на JDK е
Това означава, че ще трябва да анализирате аргументите на командния ред, за да разберете какво да правите със стойностите. Има няколко рамки за команден ред на Java за анализ на аргументите на командния ред. Или можете да напишете обикновен анализатор на командния ред, ако аргументите, които трябва да предадете, не са толкова много:
Най- код по-горе или отпечатва аргументите, или ги добавя заедно, ако са цели числа. Например, този аргумент на командния ред ще добави числата:
java CommandLineArgs -ddnumbers 11 22 33 44