Estou tentando utilizar a class FTPClient para enviar um arquivos, mas ela esta muito lenta(demora mais de 10 min), muita vezes mandando arquivos pela metade, e são arquivos pequenos < 200k. que consigo mandar facilmente pelo filezilla
Segue minha classe
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPClient;
/**
*
* @author rodrigo
*/
public class Ftp {
private Configuracao conf;
private FTPClient ftp = new FTPClient();
public Ftp( Configuracao conf){
this.conf = conf;
}
public boolean conectar() throws IOException{
this.ftp.connect( conf.getFtp() );
this.ftp.enterLocalPassiveMode();
this.ftp.setBufferSize(100000);
if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
ftp.login( this.conf.getUsuario() , this.conf.getSenha() );
return true;
} else {
//erro ao se conectar
ftp.disconnect();
System.out.println("Conexão recusada");
return false;
}
}
public void enviar(String arquivo) throws IOException{
this.ftp.cwd(this.conf.getPasta());
this.ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
this.ftp.storeFile("foto001.png", new FileInputStream(arquivo));
for(String n : this.ftp.listNames()){
System.out.println(n);
}
ftp.disconnect();
}
}
[code]public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Ftp f = new Ftp(new Configuracao());
try {
f.conectar();
f.enviar("foto.jpg");
} catch (IOException ex) {
System.out.println("erro"+ex);
}
}
}
[/code]
Alguem tem mais experiência com essa api para me dar algum conselho?