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, puoi eseguire Giava applicazione 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).
Per 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:
- Fare clic con il tasto destro sulla cartella del progetto in
progetti
finestra. - Scegli il
Proprietà
opzione per aprireProprietà del progetto
finestra. - Nel
categorie
elenco sul lato destro, scegliereCorrere
- Nel
argomenti
casella di testo visualizzata, specifica gli argomenti della riga di comando che desideri passare all'applicazione. Ad esempio, se entriamoMela Banana Carota
nelargomenti
casella di testo ed eseguire ilCommandLineArgs
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 stampa gli argomenti o sommali se sono numeri interi. Ad esempio, questo argomento della riga di comando aggiungerebbe i numeri:
java CommandLineArgs -addnumbers 11 22 33 44