Maison  >  Article  >  Java  >  Comment utiliser les paramètres de ligne de commande en Java

Comment utiliser les paramètres de ligne de commande en Java

藏色散人
藏色散人original
2019-01-19 10:46:1517416parcourir

Comment utiliser les paramètres de ligne de commande en Java : Exécutez d'abord l'application Java depuis la fenêtre du terminal puis transmettez les paramètres au point de départ de l'application.

Comment utiliser les paramètres de ligne de commande en Java

L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3, Java version 8.0.

Les paramètres de ligne de commande peuvent être un moyen de spécifier les propriétés de configuration d'une application, et Java ne fait pas exception. Vous pouvez exécuter des applications Java à partir d'une fenêtre de terminal au lieu de cliquer sur l'icône de l'application dans le système d'exploitation. En plus du nom de l'application, il peut être suivi d'un certain nombre de paramètres qui sont ensuite transmis au point de départ de l'application (c'est-à-dire la méthode main dans le cas de Java).

Par exemple, NetBeans dispose d'un certain nombre de paramètres de démarrage qui peuvent être transmis à l'application lors de son exécution depuis une fenêtre de terminal (par exemple, -jdkhome spécifie la version du JDK à utiliser autre que celle associée au JDK par défaut de l'application NetBeans).

méthode principale

Vérifions la méthode principale et voyons où apparaissent les paramètres passés à l'application :

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

Les paramètres de ligne de commande peuvent être trouvé dans un tableau de chaînes nommé args.

Par exemple, considérons une application appelée CommandLineArgs dont la seule action est d'imprimer les arguments de ligne de commande qui lui sont transmis :

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);
        }
    }
}

Syntaxe des arguments de ligne de commande

Le Java Runtime Engine (JRE) s'attend à ce que les paramètres soient transmis selon une syntaxe spécifique, comme indiqué ci-dessous :

java ProgramName value1 value2

Dans ce qui précède, "java" appelle le JRE, suivi du Le nom du programme. Viennent ensuite tous les paramètres du programme. Il n’y a pas de limite au nombre d’arguments qu’un programme peut prendre, mais l’ordre est important. Le JRE transmet les paramètres dans l'ordre dans lequel ils apparaissent sur la ligne de commande. Par exemple, considérons l'extrait de code ci-dessus :

public class CommandLineArgs2 {

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

Lorsque des arguments sont transmis à un programme Java, args[0] est le premier élément du tableau (valeur 1 ci-dessus) et args[1] est le deuxième. élément (valeur2), et ainsi de suite. Le code length() définit la longueur du tableau.

Passer des arguments de ligne de commande

Dans NetBeans, nous pouvons transmettre des arguments de ligne de commande sans avoir à créer l'application et à l'exécuter à partir d'une fenêtre de terminal. Pour spécifier des arguments de ligne de commande :

Cliquez avec le bouton droit sur le dossier Projets dans la fenêtre Projets.

Sélectionnez l'option Propriétés pour ouvrir la fenêtre des propriétés du projet.

Dans la liste Catégories à droite, sélectionnez Exécuter.

Dans la zone de texte Arguments qui apparaît, spécifiez les arguments de ligne de commande à transmettre à l'application. Par exemple, si nous entrons Apple Banana Carrot dans la zone de texte Arguments et exécutons le programme CommandLineArgs répertorié ci-dessus, nous obtiendrons le résultat :

Apple
Banana
Carrot

Analyse des arguments de ligne de commande

Généralement, un argument de ligne de commande est transmis et contient des informations sur ce qu'il faut faire avec la valeur transmise. Les paramètres qui notifient l'application de paramètres ont généralement un trait d'union ou deux avant leur nom. Par exemple, l'exemple NetBeans permettant de spécifier un paramètre de démarrage pour le chemin du JDK est -jdkhome.

Cela signifie que vous devez analyser les arguments de la ligne de commande pour déterminer quoi faire avec les valeurs. Il existe plusieurs frameworks de ligne de commande Java pour analyser les arguments de ligne de commande. Alternativement, si vous n'avez pas beaucoup d'arguments à transmettre, vous pouvez écrire un simple analyseur de ligne de commande :

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);
}
}
}
}

Le code ci-dessus imprimera les arguments ou les ajoutera (s'ils sont des entiers). Par exemple, cet argument de ligne de commande ajoutera des nombres :

java CommandLineArgs -addnumbers 11 22 33 44

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn