Kommandolinjeargumenter kan være en måde at specificere konfigurationsegenskaber til et program, og Java er ikke anderledes. I stedet for at klikke på et programikon fra operativsystemet, kan du køre Java applikation fra et terminalvindue. Sammen med applikationsnavnet kan der følge et antal argumenter, der derefter sendes til applikationens startpunkt (dvs. hovedmetoden, i tilfælde af Java).
For eksempel, NetBeans har et antal startparametre, der kan sendes til applikationen, når det køres fra et terminalvindue (f.eks.
specificerer en version af JDK, der skal bruges i stedet for standard JDK, der er tilknyttet NetBeans-applikationen).
Den vigtigste metode
Lad os undersøge hovedmetode for at se, hvor de argumenter, der er sendt til en applikation, vises:
Kommandolinjeargumenterne findes i
hedder
Lad os f.eks. Overveje et kaldet program
hvis eneste handling er at udskrive de kommandolinjeargumenter, der er sendt til det:
offentlig klasse CommandLineArgs {
public static void main (String [] args) {
// kontroller for at se om strengstrengen er tom
if (args.length == 0)
{
System.out.println ("Der blev ikke bestået nogen kommandolinjeargumenter!");
}
// For hver streng i strenggruppen
// udskriv strengen.
for (Strengargument: args)
{
System.out.println (argument);
}
}
}
Syntaks for kommandolinjeargumenter
Java Runtime Engine (JRE) forventer, at argumenter vil blive sendt efter en bestemt syntaks, som sådan:
java Programnavn værdi1 værdi2
Ovenfor påkalder "java" JRE, som efterfølges af navnet på det program, du kalder. Disse efterfølges af eventuelle argumenter til programmet. Der er ingen grænse for antallet af argumenter, et program kan tage, men rækkefølgen er kritisk. JRE overfører argumenterne i den rækkefølge, de vises på kommandolinjen. Overvej f.eks. Dette kodestykket ovenfra:
offentlig klasse CommandLineArgs2 {
public static void main (String [] args) {
if (args.length == 0)
{
System.out.println ("Der blev ikke bestået nogen kommandolinjeargumenter!");
}
Når argumenter overføres til et Java-program, er args [0] det første element i matrixen (værdi1 ovenfor), args [1] er det andet element (værdi2) og så videre. Koden args.length () definerer længden på arrayet.
Videregående kommandolinjeargumenter
I NetBeans kan vi videresende kommandolinjeargumenter uden at skulle bygge applikationen og køre den fra et terminalvindue. Sådan specificeres kommandolinjeargumenterne:
- Højreklik på projektmappen i
Projekter
vindue. - Vælg
Ejendomme
mulighed for at åbneProjektegenskaber
vindue. - I
Kategorier
listen til højre, vælgLøb
- I
argumenter
tekstboks, der vises, skal du specificere de kommandolinjeargumenter, du vil videregive til applikationen. For eksempel, hvis vi går indÆble banan gulerod
iargumenter
tekstboks og kørCommandLineArgs
programmet, der er anført ovenfor, får vi output:
Brug af kommandolinjeargumenterne
Et kommandolinjeargumentation sendes typisk med nogle oplysninger om, hvad de skal gøre med den værdi, der sendes. Argumentet, der informerer applikationen, hvad argumentet er for, har typisk en bindestrek eller to før dens navn. F.eks. Er NetBeans-eksemplet til startparameteren, der specificerer JDK-stien
Dette betyder, at du bliver nødt til at analysere kommandolinjeargumenterne for at finde ud af, hvad du skal gøre med værdierne. Der er flere Java-kommandolinjerammer til at analysere kommandolinjeargumenter. Eller du kan skrive en simpel kommandolinjeparser, hvis de argumenter, du har brug for at videregive, ikke er så mange:
Det kode ovenfor udskriver enten argumenterne eller tilføjer dem sammen, hvis de er heltal. F.eks. Tilføjer dette kommandolinjeargumenter numrene:
java CommandLineArgs -numre 11 22 33 44