exécuter des commandes ftp écrits dans fichier txt

exécuter des commandes ftp écrits dans fichier txt - Java - Programmation

Marsh Posté le 16-02-2009 à 18:59:16    

Salut
Je veux exécuter des commandes FTP sur un serveur de façon automatique en java. J'ai écrit l'en semble des commandes sur un fichier txt mais j'arrive pas à les exécuter
Voici le code:
 
//création du fichier connextion.txt et écriture des commandes dans le fichier
 
    File fichier=new File("connexion.txt" );
     
    if(!fichier.exists()){
          try {
           BufferedWriter bw = new BufferedWriter(new FileWriter(fichier));
          bw.write("USER login" );
          bw.newLine();
          bw.write("PASS motdepass" );
          bw.newLine();
          bw.write("CONNECT adresse ip du serveur" );
          bw.newLine();
          bw.write("CD repertoir_serveur" );
          bw.newLine();
          bw.write("LCD repertoire_local" );
          bw.newLine();
          bw.write("MGET *.txt" );
          bw.newLine();
          bw.close();
          BufferedReader br = new BufferedReader(new FileReader(fichier));
 
        // proc=run.exec("connexion.txt" );
 
        }
        catch (IOException ex) {
          System.out.print("Erreur lors de la création : "+ex);
        }
 
 
 
//exécution des lignes de commandes contenant dans le fichier connexion.txt
 
public void lireFichier(String nameFic){
  Process proc;
  Runtime run=null;
  run=Runtime.getRuntime();
 
  InputStreamReader flog = null;
  LineNumberReader llog = null;
  String myLine = null;
  String ligne;
  Reader r = null;
  try {
    r = new FileReader(nameFic);
  }
  catch (FileNotFoundException ex) {
  }
  BufferedReader br =   new BufferedReader(r);
  try {
    while ( (ligne = br.readLine()) != null) {
      proc = run.exec(ligne);
    }
  }
  catch (IOException ex1) {
  }
  try {
    r.close();
  }
  catch (IOException ex2) {
  }
 
 
Mais ça ne marche si vous une idée veuillez m'aider svp merci
}

Reply

Marsh Posté le 16-02-2009 à 18:59:16   

Reply

Marsh Posté le 18-02-2009 à 16:54:43    

A vue de nez, ton problème est là : "proc = run.exec(ligne);"
Cette ligne tente d'execute le contenu de "ligne" dans le shell de ton OS. Une commande FTP ne s'exécute pas de cette façon: il faut établir une connexion avec le serveur en créant une socket, écrire la commande dans cette socket et attendre le résultat.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed