Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1780 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  comment exécuter en java un ensemble de commande ftp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment exécuter en java un ensemble de commande ftp

n°1852107
sfd07
Posté le 17-02-2009 à 12:25:18  profilanswer
 

Salut
Comment exécuter en java un ensemble de commande ftp ou dos
 
merci

mood
Publicité
Posté le 17-02-2009 à 12:25:18  profilanswer
 

n°1852123
nerisson
Pic-pic
Posté le 17-02-2009 à 13:26:10  profilanswer
 

Pour du FTP tu peut utiliser la librairie apache commons-net qui inclus un client FTP.


---------------
Light is right
n°1852290
sfd07
Posté le 17-02-2009 à 18:31:37  profilanswer
 

J'ai pas bien compris tu peux m'indiquer le lien pour le downloader. Et l'utilisation svp

n°1852325
nerisson
Pic-pic
Posté le 17-02-2009 à 19:39:32  profilanswer
 

La page d'accueil:
http://commons.apache.org/net/
 
Pour télécharger:
http://commons.apache.org/downloads/download_net.cgi
 
Et la Javadoc:
http://commons.apache.org/net/apidocs/index.html
 
Ce qui t'intéresse se trouve dans le package org.apache.commons.net.ftp


---------------
Light is right
n°1852867
sfd07
Posté le 19-02-2009 à 11:06:53  profilanswer
 

Merci ça m'a vraiment aidé j'arrive à me connecter au serveur avec le code suivant :  
 
 public void connexionServeurFTP( String server,String username,String password){
 
    FTPClient  ftp = new FTPClient ();
 
    //try {
     // Connect and logon to FTP Server
     int reply;
  try {
     ftp.connect(server);
     ftp.login(username,password);
     System.out.println("Connected to " + server + "." );
     System.out.print("Ftp reply :"+ ftp.getReplyString());
     // After connection attempt, you should check the reply code to verify
     // success.
     reply = ftp.getReplyCode();
     System.out.print("Reply code :"+ reply);
     if(!FTPReply.isPositiveCompletion(reply)) {
     ftp.disconnect();
      System.err.println("FTP server refused connection." );
      System.exit(1);
     }
     else{
      System.err.println("We are connected on the FTP server and will execut comande FTP." );
     }
     
   }
  catch (SocketException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
mais maintenant mon probléme est que si je tente d'exécuter des commandes sur le serveur il me renvoi l'exception suivante :  
 
java.lang.NullPointerException
 at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:471)
 at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:534)
 at org.apache.commons.net.ftp.FTP.cwd(FTP.java:758)
 at org.apache.commons.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:716)
 at CommandeFTP.uploadFile(CommandeFTP.java:89)
 at projetMain.main(projetMain.java:18)
 
voici le code qui renvoi l'erreur ici je veux charger des fichiers dans le serveur:
 
     public void uploadFile(String server,String username,String password,String folder,String destinationFolder){
       
      conn.connexionServeurFTP(server, username, password);
         try {
          System.out.print("Début chargement fic dans serveur" );
          //ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
          ftp.changeWorkingDirectory(folder);
          File f=new File(folder);
          FileInputStream in= new FileInputStream("test.txt" );
          ftp.storeFile("test.txt",in);
        System.out.print("Fin chargement fic dans serveur" );
         }
         catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
         }
   
     }
             
si vous avez une idée veuillez m'aider svp                                                                                                                                                                                                                                                    

n°1852904
Bidem
Posté le 19-02-2009 à 12:14:43  profilanswer
 

Citation :

at org.apache.commons.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:716)
 at CommandeFTP.uploadFile(CommandeFTP.java:89)


Code :
  1. public void uploadFile(String server,String username,String password,String folder,String destinationFolder){
  2.   ...
  3.   ftp.changeWorkingDirectory(folder);
 


Ton parametre folder doit être null;


Message édité par Bidem le 19-02-2009 à 12:15:29
n°1852928
sfd07
Posté le 19-02-2009 à 13:12:45  profilanswer
 

J'ai changer la méthode avec le code suivant et ça marche :  
 
    public static void getDataFile( String server,
             String username,
             String password,
             String folder,
             String destinationFolder){
try
{
// Connect and logon to FTP Server
FTPClient ftp = new FTPClient();
ftp.connect( server );
ftp.login( username, password );
System.out.println("Connected to " +  
     server + "." );
System.out.print(ftp.getReplyString());
 
// List the files in the directory
System.out.println("le status est : "+ftp.getStatus());
ftp.changeWorkingDirectory( folder );
ftp.stor("test1.txt" );
}
catch( Exception e )
{
e.printStackTrace();
}
}
 
Mais si je veux uploader plusieurs fichiers dans le repertoire ça ne passe pas  
Voici le code :  
 
    public static void getDataFile( String server,
             String username,
             String password,
             String folder,
             String destinationFolder){
try
{
// Connect and logon to FTP Server
FTPClient ftp = new FTPClient();
ftp.connect( server );
ftp.login( username, password );
System.out.println("Connected to " +  
     server + "." );
System.out.print(ftp.getReplyString());
 
// List the files in the directory
System.out.println("le status est : "+ftp.getStatus());
ftp.changeWorkingDirectory( folder );
File file = new File( folder + File.separator +"test.txt" );
File file1 = new File( folder + File.separator +"connexion.txt" );
 
InputStream fis1 = new FileInputStream(file);
InputStream fis2 = new FileInputStream(file1);
ftp.storeFile(file.getName(), fis);
ftp.storeFile(file1.getName(), fis1);
fis.close();
fis1.close();
}
catch( Exception e )
{
e.printStackTrace();
}
}
 

n°1852940
sfd07
Posté le 19-02-2009 à 13:34:05  profilanswer
 

C'est bon les gars ça marche j'avait fait une erreur lors de l'appel de la méthode je lui avais pas donné le bon chemin
 
merci tout le monde


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  comment exécuter en java un ensemble de commande ftp

 

Sujets relatifs
exécuter des commandes ftp écrits dans fichier txt[JAVA] Recuperer la selection d'une liste [RESOLU]
Empecher d'agrandir une fenetre java.commande executer recherche
Java ButtonLogiciel pour lire le texte dans une image en Java
Java sous Mac[java] comment savoir si un utilisateur à les droits administrateur
Problème Hashmap en java 
Plus de sujets relatifs à : comment exécuter en java un ensemble de commande ftp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR