Une application Java peut accepter n'importe quel nombre d'arguments à partir de la ligne de commande. Cela permet à l'utilisateur de spécifier des informations de configuration lors du lancement de l'application.
L'utilisateur entre des arguments de ligne de commande lors de l'appel de l'application et les spécifie après le nom de la classe à exécuter. Par exemple, supposons qu'une application Java appelée Trier trie les lignes dans un fichier. Pour trier les données dans un fichier nommé friends.txt, un utilisateur entrerait:
java Trier friends.txt Lorsqu'une application est lancée, le système d'exécution passe les arguments de ligne de commande à la méthode principale de l'application via un tableau des cordes. Dans l'exemple précédent, les arguments de ligne de commande transmis à l'application Sort dans un tableau contenant une seule chaîne: "friends.txt".
Faisant écho Arguments de ligne de commande
exemple L'Echo affiche chacun de ses arguments de ligne de commande sur une ligne par lui-même:
public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
L'exemple suivant montre comment un utilisateur peut exécuter Echo. L'entrée de l'utilisateur est en italique.
java Echo Boisson chaude Java Boisson chaude Java Notez que l'application affiche chaque mot - boisson, chaud et Java - sur une ligne par lui-même. Cela est dû au fait que le caractère espace sépare les arguments de ligne de commande. Pour que Drink, Hot et Java soient interprétés comme un seul argument, l'utilisateur les rejoindrait en les encadrant entre guillemets.
java Echo « Boisson chaude Java » Boisson chaude Java Parsing numérique Arguments de ligne de commande
Si une application doit soutenir un argument de ligne de commande numérique, il faut convertir un argument de chaîne qui représente un nombre, comme "34", à une valeur numérique. Voici un extrait de code qui convertit un argument en ligne de commande à un int:
int firstArg;
if (args.length > 0) {
try {
firstArg = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.err.println("Argument" + args[0] + " must be an integer.");
System.exit(1);
}
}
parseInt jette un NumberFormatException si le format de args [0] n'est pas valide. Toutes les classes Number - Integer, Float, Double et ainsi de suite - ont des méthodes parseXXX qui convertissent une chaîne représentant un nombre en un objet de leur type. Source: docs.oracle.com
** Astuce ** apprendre la différence entre java et javac –