Kommandoradsargument kan vara ett sätt att ange konfigurationsegenskaper för ett program, och Java är inte annorlunda. Istället för att klicka på en applikationsikon från operativsystemet kan du köra Java-applikationen från ett terminalfönster. Tillsammans med applikationsnamnet kan ett antal argument följa som sedan skickas till applikationens startpunkt (dvs huvudmetoden, i fallet med Java).
Till exempel har NetBeans ett antal startparametrar som kan skickas till applikationen när det körs från ett terminalfönster (t.ex..,
anger en version av JDK som ska användas istället för standard JDK som är associerad med NetBeans-applikationen).
Låt oss undersöka huvudmetoden för att se var argumenten som skickas till en applikation visas:
Kommandoradsargumenten finns i
kallad
Låt oss till exempel överväga en applikation som heter
vars enda åtgärd är att skriva ut kommandoradsargumenten som skickas till den:
public class CommandLineArgs
public static void main (String [] args)
// kontrollera om strängmatrisen är tom
if (args.length == 0)
System.out.println ("Det fanns inga kommandoradsargument!");
// För varje sträng i strängfältet
// skriva ut strängen.
för (Strängargument: args)
System.out.println (argument);
Java Runtime Engine (JRE) förväntar sig att argument ska skickas efter en viss syntax, som så:
java Programnamn värde1 värde2
Ovan kallar "java" till JRE, som följs av namnet på det program du ringer. Dessa följs av alla argument till programmet. Det finns ingen begränsning för antalet argument ett program kan ta, men ordningen är kritisk. JRE skickar argumenten i den ordning de visas på kommandoraden. Tänk till exempel det här kodavsnittet ovan:
public class CommandLineArgs2
public static void main (String [] args)
if (args.length == 0)
System.out.println ("Det fanns inga kommandoradsargument!");
När argument överförs till ett Java-program är args [0] det första elementet i matrisen (värde1 ovan), args [1] är det andra elementet (värde2), och så vidare. Koden args.length () definierar längden på matrisen.
I NetBeans kan vi skicka kommandoradsargument utan att behöva bygga applikationen och köra den från ett terminalfönster. Så här anger du kommandoradsargumenten:
projektfönster.
Egenskaperalternativet att öppna
Projektegenskaperfönster.
kategorierlista till höger, välj
Springa
Argumenttextbox som visas, ange de kommandoradsargument som du vill överföra till applikationen. Till exempel, om vi går in
Apple banan moroti
Argumenttextbox och kör
CommandLineArgsprogrammet ovan, kommer vi att få utdata:
Normalt skickas ett kommandoradsargument med viss information om vad man ska göra med värdet som skickas. Argumentet som informerar applikationen vad argumentet är för har vanligtvis en bindestreck eller två före dess namn. Exempelvis är NetBeans-exemplet för startparametern som anger JDK-banan
Detta betyder att du måste analysera kommandoradsargumenten för att ta reda på vad du ska göra med värdena. Det finns flera Java-kommandoradsramar för att analysera kommandoradsargument. Eller så kan du skriva en enkel kommandorads-tolkare om de argument du behöver för att inte är så många:
Koden ovan skriver antingen ut argumenten eller lägger till dem om de är heltal. Till exempel skulle detta kommandoradsargument lägga till siffrorna:
java CommandLineArgs-nummer 11 22 33 44