Utilizzo degli argomenti della riga di comando in un'applicazione Java

Gli argomenti della riga di comando possono essere un modo per specificare le proprietà di configurazione per un'applicazione e Java non è diverso. Invece di fare clic sull'icona di un'applicazione dal sistema operativo, è possibile eseguire l'applicazione Java da una finestra del terminale. Insieme al nome dell'applicazione, possono seguire una serie di argomenti che vengono quindi passati al punto iniziale dell'applicazione (ovvero, il metodo principale, nel caso di Java).

Ad esempio, NetBeans ha un numero di parametri di avvio che possono essere passati all'applicazione quando viene eseguita da una finestra del terminale (ad es..,

specifica una versione del JDK da utilizzare al posto del JDK predefinito associato all'applicazione NetBeans).

Il metodo principale

Esaminiamo il metodo principale per vedere dove vengono visualizzati gli argomenti passati a un'applicazione:

Gli argomenti della riga di comando sono disponibili in

chiamato

Ad esempio, consideriamo un'applicazione chiamata

la cui unica azione è stampare gli argomenti della riga di comando passati ad esso:

public class CommandLineArgs  
   public static void main (String [] args) 
// controlla se l'array String è vuoto
if (args.length == 0)

System.out.println ("Non sono stati passati argomenti da riga di comando!");
       // Per ogni stringa nell'array String
// stampa la stringa.
per (Argomento String: args)

System.out.println (argomento);


 

Sintassi degli argomenti della riga di comando

Java Runtime Engine (JRE) prevede che gli argomenti vengano passati seguendo una sintassi particolare, in questo modo:

java ProgramName valore1 valore2

Sopra, "java" invoca il JRE, che è seguito dal nome del programma che stai chiamando. Questi sono seguiti da qualsiasi argomento per il programma. Non c'è limite al numero di argomenti che un programma può accettare, ma l'ordine è fondamentale. JRE passa gli argomenti nell'ordine in cui appaiono sulla riga di comando. Ad esempio, considera questo frammento di codice dall'alto:

public class CommandLineArgs2  
   public static void main (String [] args) 
if (args.length == 0)

System.out.println ("Non sono stati passati argomenti da riga di comando!");

Quando gli argomenti vengono passati a un programma Java, args [0] è il primo elemento dell'array (valore 1 sopra), args [1] è il secondo elemento (valore2) e così via. Il codice args.length () definisce la lunghezza dell'array.

Passare argomenti della riga di comando

In NetBeans, possiamo passare gli argomenti della riga di comando senza dover creare l'applicazione ed eseguirla da una finestra del terminale. Per specificare gli argomenti della riga di comando:

  1. Fare clic con il tasto destro sulla cartella del progetto in
    progetti
    finestra.
  2. Scegli il
    Proprietà
    opzione per aprire 
    Proprietà del progetto
    finestra. 
  3. Nel
    categorie
    elenco sul lato destro, scegliere
    Correre
  4. Nel
    argomenti
    casella di testo visualizzata, specifica gli argomenti della riga di comando che desideri passare all'applicazione. Ad esempio, se entriamo
    Mela Banana Carota
    nel
    argomenti
    casella di testo ed eseguire il
    CommandLineArgs
    programma elencato sopra, otterremo l'output:

Analisi degli argomenti della riga di comando

In genere, viene passato un argomento della riga di comando con alcune informazioni su cosa fare con il valore che viene passato. L'argomento che informa l'applicazione a cosa serve l'argomento ha in genere un trattino o due prima del suo nome. Ad esempio, l'esempio NetBeans per il parametro startup che specifica il percorso JDK è

Ciò significa che dovrai analizzare gli argomenti della riga di comando per capire cosa fare con i valori. Esistono diversi framework della riga di comando Java per l'analisi degli argomenti della riga di comando. Oppure potresti scrivere un semplice parser da riga di comando se gli argomenti che devi passare non sono così tanti:

Il codice sopra o stampa gli argomenti o li somma insieme se sono numeri interi. Ad esempio, questo argomento della riga di comando aggiungerebbe i numeri:

java CommandLineArgs -addnumbers 11 22 33 44