Bruke kommandolinjeargumenter i Java

Kommandolinjeargumenter kan være en måte å spesifisere konfigurasjonsegenskaper for et program, og Java er ikke annerledes. I stedet for å klikke på et applikasjonsikon fra operativsystemet, kan du kjøre Java applikasjon fra et terminalvindu. Sammen med applikasjonsnavnet kan et antall argumenter følge som deretter føres til programmets startpunkt (dvs. hovedmetoden, i tilfelle Java).

For eksempel, NetBeans har et antall oppstartsparametere som kan sendes til applikasjonen når den kjøres fra et terminalvindu (f.eks.

angir en versjon av JDK som skal brukes i stedet for standard JDK tilknyttet NetBeans-applikasjonen).

Hovedmetoden

La oss undersøke hovedmetode for å se hvor argumentene som sendes til en applikasjon vises:

Kommandolinjeargumentene finner du i

kalt

La oss for eksempel vurdere et program som heter

hvis eneste handling er å skrive ut kommandolinjeargumentene som er gitt til den:

offentlig klasse CommandLineArgs { 
 public static void main (String [] args) {
// sjekk for å se om String-arrayet er tomt
instagram viewer

if (args.length == 0)
{
System.out.println ("Det ble ikke gitt noen kommandolinjeargumenter!");
}
 // For hver streng i strenggruppen
// skriv ut strengen.
for (Strengargument: args)
{
System.out.println (argument);
}
}
}

Syntaks for kommandolinjeargumenter

Java Runtime Engine (JRE) forventer at argumenter skal sendes etter en bestemt syntaks, slik:

java Programnavn verdi1 verdi2

Over påkaller "java" JRE, som blir fulgt av navnet på programmet du kaller. Disse blir fulgt av eventuelle argumenter for programmet. Det er ingen begrensning for antall argumenter et program kan ta, men rekkefølgen er kritisk. JRE passerer argumentene i den rekkefølgen de vises på kommandolinjen. Tenk for eksempel på dette kodebiten ovenfra:

offentlig klasse CommandLineArgs2 {
 public static void main (String [] args) {
if (args.length == 0)
{
System.out.println ("Det ble ikke gitt noen kommandolinjeargumenter!");
}

Når argumenter sendes til et Java-program, er args [0] det første elementet i matrisen (verdi1 over), args [1] er det andre elementet (verdi2), og så videre. Koden args.length () definerer lengden på matrisen.

Passing Command-Line Arguments

I NetBeans kan vi sende kommandolinjeargumenter uten å måtte bygge applikasjonen og kjøre den fra et terminalvindu. Slik angir du kommandolinjeargumenter:

  1. Høyreklikk på prosjektmappen i
    prosjekter
    vindu.
  2. Velg
    Eiendommer
    alternativet for å åpne
    Prosjektegenskaper
    vindu.
  3. I
    kategorier
    listen til høyre, velg
    Løpe
  4. I
    argumenter
    tekstboks som vises, spesifiser kommandolinjeargumentene du vil gi til applikasjonen. For eksempel, hvis vi går inn
    Eple banan gulrot
    i
    argumenter
    tekstboks og kjør
    CommandLineArgs
    programmet oppført over, vil vi få utdata:

Analyser kommandolinjeargumentene

Vanligvis sendes et kommandolinjeargument med litt informasjon om hva du skal gjøre med verdien som sendes. Argumentet som informerer applikasjonen hva argumentet er for har vanligvis en bindestrek eller to før navnet. For eksempel er NetBeans-eksemplet for oppstartsparameteren som spesifiserer JDK-banen

Dette betyr at du må analysere kommandolinjeargumentene for å finne ut hva du skal gjøre med verdiene. Det er flere Java-kommandolinjerammer for å analysere kommandolinjeargumenter. Eller du kan skrive en enkel kommandolinjeparser hvis argumentene du trenger å føre er ikke så mange:

De kode ovenfor skriver begge ut argumentene eller legger dem sammen hvis de er heltall. For eksempel vil dette kommandolinjeargumentet legge til tallene:

java CommandLineArgs -numre 11 22 33 44