Brug af kommandolinjeargumenter i Java

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) {
instagram viewer

// 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:

  1. Højreklik på projektmappen i
    Projekter
    vindue.
  2. Vælg
    Ejendomme
    mulighed for at åbne
    Projektegenskaber
    vindue.
  3. I
    Kategorier
    listen til højre, vælg
    Løb
  4. 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
    i
    argumenter
    tekstboks og kør
    CommandLineArgs
    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