Bonjour tout le monde,
Je travaille sur eclipse 4.2 ganymede, mais le problème ne situe pas sur l'IDE;
J'ai un .JAR assez simple à faire fonctionner, dés qu'on lui passe le chemin d'un dossier comme argument, il liste le contenu
du dossier (le premier niveau selement, pas de manière récursive);
le problème c'est que je n'arrive pas à lui faire passer ce paramètre en ligne de commande linux;
si je suis dans un dossier particulier et que je lance ce .JAR ; il liste le contenu de ce dossier alors qu'il ignore tout paramètre venant aprés, voici le code de mon appli :
/**
* Cette classe liste le contenu d'un dossier et l'affiche
* c'est une application console
*/
package listingDeDossier;
import com.bruceeckel.util.*;
import java.io.*;
import java.util.*;
public class Lister {
public static void main (String[] args){
File dossier = new File (".");
String[] fichiers_du_dissier;
if (args.length == 0)
fichiers_du_dissier = dossier.list();
else
fichiers_du_dissier = dossier.list(new FiltreDossier(args[0]));
Arrays.sort(fichiers_du_dissier, new AlphabeticComparator());
for (int i=0; i<fichiers_du_dissier.length; i++){
System.out.println(fichiers_du_dissier[i]);
}
}
}
/**
* Cette classe redéfinit la méthode accepte, cette méthode est appelée par
* la méthode list , si un filtre est appliqué. i.e : un nom de dossier à lister est donné
* et ceci si l'appel au JAR est donné avec un paramètre
*/
class FiltreDossier implements FilenameFilter{
String afn;
FiltreDossier (String afn) {this.afn = afn;}
public boolean accept (File dossier, String nom){
String f = new File(nom).getName();
return f.indexOf(afn)!= -1;
}
}
voici quelques commandes que j'ai exécuté et qui ont échoué :
java -jar fichiers.jar -r "/home/sofiane"
java -jar fichiers.jar -args "/home/sofiane"
java -jar fichiers.jar < "/home/sofiane"
Le listing est effectué pour le dossier courant seulement (là ou se trouve le .JAR), il ignore donc les paramètres;
En vous remerciant d'avance pour toute tentative d'aide;
Amicalement.