Heim  >  Artikel  >  Java  >  So verwenden Sie Befehlszeilenargumente in Java

So verwenden Sie Befehlszeilenargumente in Java

藏色散人
藏色散人Original
2019-01-19 10:46:1517502Durchsuche

So verwenden Sie Befehlszeilenparameter in Java: Führen Sie zuerst die Java-Anwendung über das Terminalfenster aus und übergeben Sie dann die Parameter an den Startpunkt der Anwendung.

So verwenden Sie Befehlszeilenargumente in Java

Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer, Java Version 8.0.

Befehlszeilenparameter können eine Möglichkeit sein, Konfigurationseigenschaften für eine Anwendung anzugeben, und Java bildet da keine Ausnahme. Sie können Java-Anwendungen über ein Terminalfenster ausführen, anstatt auf das Anwendungssymbol im Betriebssystem zu klicken. Zusätzlich zum Anwendungsnamen können eine Reihe von Parametern folgen, die dann an den Startpunkt der Anwendung (d. h. die Hauptmethode im Fall von Java) übergeben werden.

NetBeans verfügt beispielsweise über eine Reihe von Startparametern, die an die Anwendung übergeben werden können, wenn sie über ein Terminalfenster ausgeführt wird (z. B. gibt -jdkhome die zu verwendende JDK-Version an, die nicht mit der verknüpft ist). (Standard-JDK der NetBeans-Anwendung).

Hauptmethode

Sehen wir uns die Hauptmethode an, um zu sehen, wo die an die Anwendung übergebenen Parameter angezeigt werden:

public static void main(String[] args)
{
...do something here
}

Befehlszeilenparameter sind in Ordnung. Finden Sie Argumente im String-Array mit dem Namen.

Betrachten wir zum Beispiel eine Anwendung namens CommandLineArgs, deren einzige Aktion darin besteht, die an sie übergebenen Befehlszeilenargumente auszugeben:

public class CommandLineArgs {
    public static void main(String[] args) {
        //检查字符串数组是否为空
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }
        //对于字符串数组中的每个字符串
        //打印出字符串。
        for(String argument: args)
        {
            System.out.println(argument);
        }
    }
}

Syntax für Befehlszeilenargumente

Die Java Runtime Engine (JRE) erwartet, dass Parameter gemäß einer bestimmten Syntax übergeben werden, wie unten gezeigt:

java ProgramName value1 value2

Oben ruft „java“ die JRE auf, gefolgt vom Namen des Programms Du rufst an. Als nächstes folgen alle Parameter für das Programm. Es gibt keine Begrenzung für die Anzahl der Argumente, die ein Programm annehmen kann, aber die Reihenfolge ist wichtig. Die JRE übergibt Parameter in der Reihenfolge, in der sie in der Befehlszeile erscheinen. Betrachten Sie zum Beispiel den obigen Codeausschnitt:

public class CommandLineArgs2 {

    public static void main(String[] args) {
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }

Wenn Argumente an ein Java-Programm übergeben werden, ist args[0] das erste Element des Arrays (Wert1 oben) und args[1] das zweite Element ( Wert2) und so weiter. Der length()-Code definiert die Länge des Arrays.

Befehlszeilenargumente übergeben

In NetBeans können wir Befehlszeilenargumente übergeben, ohne die Anwendung erstellen und über ein Terminalfenster ausführen zu müssen. So geben Sie Befehlszeilenargumente an:

Klicken Sie mit der rechten Maustaste auf den Ordner „Projekte“ im Fenster „Projekte“.

Wählen Sie die Option „Eigenschaften“, um das Projekteigenschaftenfenster zu öffnen.

Wählen Sie in der Liste „Kategorien“ auf der rechten Seite „Ausführen“ aus.

Geben Sie im angezeigten Textfeld „Argumente“ die Befehlszeilenargumente an, die an die Anwendung übergeben werden sollen. Wenn wir beispielsweise Apple Banana Carrot in das Textfeld „Argumente“ eingeben und das oben aufgeführte CommandLineArgs-Programm ausführen, erhalten wir die Ausgabe:

Apple
Banana
Carrot

Befehlszeilenargumente werden analysiert

Normalerweise wird ein Befehlszeilenargument übergeben, das einige Informationen darüber enthält, was mit dem übergebenen Wert geschehen soll. Parameter, die die Anwendung von Parametern mitteilen, haben normalerweise einen oder zwei Bindestriche vor ihrem Namen. Das NetBeans-Beispiel zum Angeben eines Startparameters für den JDK-Pfad lautet beispielsweise -jdkhome.

Das bedeutet, dass Sie die Befehlszeilenargumente analysieren müssen, um zu bestimmen, was mit den Werten geschehen soll. Es gibt mehrere Java-Befehlszeilen-Frameworks zum Parsen von Befehlszeilenargumenten. Wenn Sie nicht viele Argumente übergeben müssen, können Sie alternativ einen einfachen Befehlszeilenparser schreiben:

public class CommandLineArgs {
//命令行参数:
// -打印输出输出它后面的所有参数
//addnumbers在后面添加所有的数字参数
public static void main(String[] args) {
//检查字符串数组是否为空
if (args.length == 0)
{
System.out.println("There were no commandline arguments passed!");
}
else
{
  // 设置一些初始变量
boolean printout = false;
boolean addNumbers = false;
boolean validNumbers = true;
int total = 0;
for(String argument: args)
{
if(argument.equals("-addnumbers"))
{
printout = false;
addNumbers = true;
}
else if (argument.equals("-printout"))
{
printout = true;
addNumbers = false;
}
else if (addNumbers)
{
try {
total = total + Integer.parseInt(argument);
} catch (NumberFormatException e) {
System.out.println("arguments passed with -addnumbers " + "must be integers!");
validNumbers = false;
addNumbers = false;
}
}
else if (printout)
{
System.out.println(argument);
}
}
if (validNumbers)
{
System.out.println("The total of the number arguments is: " + total);
}
}
}
}

Der obige Code gibt die Argumente entweder aus oder fügt sie hinzu (wenn es sich um Ganzzahlen handelt). Mit diesem Befehlszeilenargument werden beispielsweise Zahlen hinzugefügt:

java CommandLineArgs -addnumbers 11 22 33 44

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Befehlszeilenargumente in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn