FTP java

FTP java - Java - Programmation

Marsh Posté le 05-12-2005 à 16:11:47    

Bonjour, je code un pti client ftp en java en utilisant le package sun.net.ftp. Je sais qu'il ne faut pas l'utiliser mais j'ai des contraintes qui font que je dois le faire  :) .
Donc mon code doit copier un fichier local sur un ftp distant, il marche bien. Ce que je voudrais maintenant faire, c mettre un timeout non pas pour une non reponse du serveur, mais pour un reseau étonnament lent qui impliquerait une copie du fichier trop lente. Voici mon code qui fonctionne deja :  

Code :
  1. protected synchronized void writeToFtp(File [] filesToWrite) {
  2.  try
  3.  {
  4.   String ftpHostIP = ftpURL;     
  5.   String username = ftpLogin;   
  6.   String password = ftpPassword; 
  7.   String directory = "";         
  8.   FtpClient ftpClient = new FtpClient();
  9.   //CONNECT
  10.   ftpClient.openServer(ftpHostIP); // connect to FTP server
  11.   ftpClient.login(username, password); // login
  12.   ftpClient.binary(); // set to binary mode transfer
  13.   ftpClient.cd(directory); // change directory
  14.   //File file=new File(filename); //file to create
  15.   OutputStream out;
  16.   InputStream in;
  17.   byte c[] = new byte[4096];
  18.   int read = 0;
  19.   //WRITE
  20.   for(int i=0; i<filesToWrite.length; i++) {
  21.    File file = filesToWrite[i];
  22.    out = ftpClient.put(file.getName());
  23.    in = new FileInputStream(file);
  24.    c = new byte[4096];
  25.    read = 0;
  26.    while ((read = in.read(c)) != -1 ) {
  27.     out.write(c, 0, read);
  28.    }
  29.    in.close(); //close the io streams
  30.    out.close();//stop the thread
  31.   }
  32.   //DISCONNECT
  33.   //ftpClient.cd("/" );//change to root directory
  34.   ftpClient.closeServer(); //close connection
  35.  }
  36.  catch (Exception e)
  37.  {
  38.   e.printstacktrace();
  39.  }
  40. }


 
Quelqu'un a une idée de comment faire?
 
merci


Message édité par cymp le 05-12-2005 à 16:12:25
Reply

Marsh Posté le 05-12-2005 à 16:11:47   

Reply

Sujets relatifs:

Leave a Replay

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