Médiaforma

All posts tagged ligne de commande

Vous avez certainement remarqué que la procédure main() d’une application Java fait toujours référence à un tableau String souvent appelé args :

public static void main (String args[]) throws java.io.IOException{

}

Ce tableau est utilisé pour stocker les éventuels paramètres passés à l’application. La technique de passage de paramètres est très utile (et très utilisée), qu’il s’agisse de programmes MS-DOS ou Windows. Par exemple, lorsque vous tapez l’instruction suivante sous MS-DOS :

DIR C:\

Le paramètre “C:\” est passé au programme DIR. Il indique à ce programme que vous voulez afficher la liste des fichiers contenus dans la racine du disque C:.

Tout comme les programmes MS-DOS, les applications Java sont en mesure d’intercepter les paramètres qui sont tapés par l’utilisateur sur la ligne de commande. Cette technique est automatique : toute donnée spécifiée à la suite du nom d’une application Java est considérée comme un paramètre. Le caractère “espace” est utilisé comme séparateur.

Par exemple, la commande ci-après passe trois paramètres au programme Test : “3”, “paramètres” et “passés” :

java Test 3 paramètres passés

Chaque paramètre est stocké sous une forme String dans le tableau args. Dans l’exemple précédent, le tableau args[] contient trois valeurs :

args[0] = "3"
args[1] = "paramètres"
args[2] = "passés"

Si certains paramètres doivent être utilisés sous une valeur numérique, il conviendra d’utiliser un casting à l’aide des opérateurs habituels (int), (long), (double), etc.

Si un paramètre doit inclure un ou plusieurs caractères d’espacement, vous le délimiterez par des guillemets. Dans l’exemple suivant, deux paramètres sont passés au programme :

java Test Seulement "2 paramètres passés"

Le premier est stocké dans l’élément args[0]. Il a pour valeur “Seulement”. Le deuxième est stocké dans l’élément args[1]. Il a pour valeur “2 paramètres passés”.

Si les choses vous semblent encore obscures (sigh !), considérez la classe Test définie ci-après :

public class Test {
  public static void main (String args[]) {
    double op1 = Double.valueOf(args[0]).doubleValue(); // Premier opérateur
    double op2 = Double.valueOf(args[2]).doubleValue(); // Deuxième opérateur

    System.out.print(args[0] + args[1] + args[2] + " = ");

    // ----------------------------
    // Affichage du résultat
    // ----------------------------
    if (args[1].equals("+"))
       System.out.println(op1 + op2);
    if (args[1].equals("-"))
       System.out.println(op1 - op2);
    if (args[1].equals("*"))
       System.out.println(op1 * op2);
    if (args[1].equals("/"))
       System.out.println(op1 / op2);
  }
}

 

 


Lorsque vous double-cliquez sur l’icône d’une application pour la lancer, cela revient à exécuter une commande MS-DOS. Ainsi par exemple, l’Explorateur Windows peut être lancé avec la commande explorer.exe, le Bloc-Notes avec la commande notepad.exe ou encore Paint avec la commande mspaint.exe.

Certaines (pour ne pas dire toutes) les applications peuvent être lancées avec un ou plusieurs paramètres afin de démarrer d’une façon particulière.

Par exemple, la commande suivante lance l’application Paint en ouvrant le fichier c:\images\portrait.jpg :

mspaint c:\images\portrait.jpg

Dans cette rubrique, je vais vous montrer comment créer une icône de raccourci sur le Bureau en passant un paramètre à l’application concernée. A titre d’exemple, nous allons demander à l’Explorateur Windows de s’ouvrir sur le dossier c:\program files.

Cliquez du bouton droit sur une partie inoccupée du Bureau, pointez Nouveau et cliquez sur Raccourci dans le menu contextuel. Tapez explorer /root,”c:\program files”, cliquez sur Suivant puis sur Terminer.

L’icône de raccourci est créée sur le Bureau. Comme vous pouvez le constater, en double-cliquant dessus, le dossier c:\Program Files est directement accessible.