exécuter des commandes ftp écrits dans fichier txt - Java - Programmation
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.
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
}