Argumenty príkazového riadka môžu byť spôsobom, ako špecifikovať konfiguračné vlastnosti aplikácie, a Java sa nelíši. Namiesto kliknutia na ikonu aplikácie z operačného systému môžete spustiť Jáva aplikácie z okna terminálu. Spolu s názvom aplikácie môže nasledovať celý rad argumentov, ktoré sa potom odovzdajú začiatočnému bodu aplikácie (t. J. Hlavná metóda v prípade Java).
Napríklad, NetBeans má množstvo spúšťacích parametrov, ktoré sa môžu preniesť do aplikácie, keď sa spúšťa z okna terminálu (napr.
špecifikuje verziu JDK, ktorá sa má použiť namiesto predvoleného JDK spojeného s aplikáciou NetBeans).
Hlavná metóda
Pozrime sa hlavná metóda aby ste zistili, kde sa objavia argumenty odovzdané do aplikácie:
Argumenty príkazového riadku nájdete v
volal
Uvažujme napríklad aplikáciu nazvanú
ktorého jedinou akciou je vytlačiť argumenty príkazového riadku, ktoré sa jej odovzdajú:
public class CommandLineArgs {
public static void main (String [] args) {
// skontrolujte, či je pole String prázdne
if (args.length == 0)
{
System.out.println ("Neboli odovzdané žiadne argumenty príkazového riadku!");
}
// Pre každý reťazec v poli String
// vytlačiť reťazec.
pre (Argument String: args)
{
System.out.println (argument);
}
}
}
Syntax argumentov príkazového riadku
Java Runtime Engine (JRE) očakáva, že argumenty budú predložené po konkrétnej syntaxi, napríklad:
java ProgramName value1 value2
Hore vyvoláva JRE, za ktorým nasleduje názov programu, ktorý voláte. Nasledujú akékoľvek argumenty týkajúce sa programu. Počet argumentov, ktoré môže program vykonať, nie je nijako obmedzený, ale poradie je rozhodujúce. JRE odovzdá argumenty v poradí, v akom sa nachádzajú na príkazovom riadku. Zoberme si napríklad tento útržok kódu zhora:
public class CommandLineArgs2 {
public static void main (String [] args) {
if (args.length == 0)
{
System.out.println ("Neboli odovzdané žiadne argumenty príkazového riadku!");
}
Keď sú argumenty odovzdané do programu Java, args [0] je prvý prvok poľa (value1 vyššie), args [1] je druhý prvok (value2) atď. Kód args.length () definuje dĺžku poľa.
Odovzdávanie argumentov príkazového riadku
V NetBeans môžeme odovzdať argumenty príkazového riadku bez toho, aby sme museli zostavovať aplikáciu a spúšťať ju z terminálového okna. Ak chcete zadať argumenty príkazového riadku:
- Pravým tlačidlom myši kliknite na priečinok projektu v priečinku
projekty
okno. - Vyber
vlastnosti
možnosť otvoriťVlastnosti projektu
okno. - V
Kategórie
na pravej strane vybertebeh
- V
argumenty
do textového poľa, ktoré sa zobrazí, zadajte argumenty príkazového riadku, ktoré chcete odovzdať aplikácii. Napríklad, ak vstúpimeApple Banana Mrkva
vargumenty
a spustiťCommandLineArgs
program uvedený vyššie, dostaneme výstup:
Analýza argumentov príkazového riadka
Argument príkazového riadku sa zvyčajne odovzdáva s niektorými informáciami o tom, čo robiť s odovzdávanou hodnotou. Argument informujúci aplikáciu o tom, pre čo je argument, má pred pomenovaním obvykle spojovník. Napríklad príklad NetBeans pre spúšťací parameter špecifikujúci cestu JDK je
To znamená, že budete musieť analyzovať argumenty príkazového riadku, aby ste zistili, čo robiť s hodnotami. Existuje niekoľko rámcov príkazového riadku Java na analýzu argumentov príkazového riadka. Alebo by ste mohli napísať jednoduchý syntaktický analyzátor príkazového riadku, ak argumenty, ktoré potrebujete odovzdať, nie sú toľko:
kód vyššie vytlačí argumenty alebo ich spojí, ak sú celé čísla. Tento argument príkazového riadku by napríklad pridal čísla:
java CommandLineArgs -addnumbers 11 22 33 44