Ahi va la clase, que usa un paquete externo gratuito y open source (edtFTP - http://www.enterprisedt.com/products/edtftpj/overview.html)
Código
He usado algunos metodos y clases que he encontrado pro ahi para hacer este Metodo.
package ftp; import com.enterprisedt.net.ftp.FTPTransferType; import com.enterprisedt.net.ftp.FileTransferClient; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; /** * * @author Debci *Para elhacker.net */ public class Main { String host; String user; String pass; this.host = host; this.user = user; this.pass = pass; } //Tambien podemos especificar una IP :P Main datos_conexion = new Main("ip o servidor", "usuario", "contraseña"); try{ FileTransferClient ftp = new FileTransferClient(); /** * Parametros de conexion */ ftp.setRemotePort(21); ftp.setRemoteHost(datos_conexion.host); ftp.setUserName(datos_conexion.user); ftp.setPassword(datos_conexion.pass); ftp.connect(); /** * Establecemos el modo de transferencia en Binario */ ftp.setContentType(FTPTransferType.BINARY); /** * Para cambiar de directorio usamos el metodo changeDirectory */ ftp.changeDirectory("porno, pelis verdes, hentai o el directorio que querais"); ftp.setDetectContentType(true); /** * Vamos a subir un xploit o un troyano... */ long fin = source.length(); long ini = 0; int x = 0; byte[] b = new byte[2048]; while ((x = fis.read(b)) > 0) { ini+=x; os.write(b, 0, x); /** * Usaremos el cuarto proporcional o una regla de 3 * para saber cuanto hemos subido y cuanto queda por bajar */ + " - Subido: " + ini); + ((ini * 100) / fin) + "%"); } os.close(); fis.close(); /** *Cerramos la conexión correctamente */ ftp.disconnect(); /** *Atrapamos la exepción que se peuda producir y la soltamos */ e.printStackTrace(); }catch(IOExeption e2){ e2.printStackTrace(); } } }
Saludos