Conectarse a un FTP con Java

07/Sep/2011 Java , , 6 Comentarios
Programación en Java

La posibilidad de contectarse a un FTP con Java no es una utilidad que nos den las librerías base de Java. Es por ello que para poder acometer esta tarea y conectarnos a un FTP con Java deberemos de utilizar las librerías de Apache Commons. En concreto el componente Net.

Así que lo primero que hay que hacer para pode crear nuestro programa que se conecte a un FTP con Java es decargarnos la librería Net de Apache Commons.

En nuestro código fuente deberemos de realizar un import de esta librería:

import org.apache.commons.net.ftp.FTPClient;

La clase de Apache Commons que nos permitirá crear un cliente FTP con Java es FTPClient. Por lo tanto la primera línea de nuestro programa creará una instancia de esta clase.

FTPClient client = new FTPClient();

Una vez creado el cliente deberemos de conocer tres cosas para poder conectarnos a un FTP con Java. Estas serán:

  • Servidor FTP
  • Usuario
  • Password

Estos datos los utilizaremos en el método .connect y .login del cliente FTP

String sFTP = "ftp.miservidor.com";
String sUser = "usuario";
String sPassword = "password";
		
try {
  client.connect(sFTP);
  boolean login = client.login(sUser,sPassword);
} catch (IOException ioe) {}

Cuando hagamos el login para conectarnos al FTP, este devolverá en un valor booleano si se ha podido conectar o no. Si todo va correctamente ya estaremos conectados.

Una vez que hagamos la operativa que necesitemos con el FTP (lo veremos en otros artículos sobre FTP y Java) deberemos de desconectarnos del FTP.

Para desconectarnos del FTP haremos dos cosas. En primer lugar haremos un logout del usuario y luego nos desconectaremos del servidor. Los método .logout() y .disconnect() nos ayudarán en esta tarea.

client.logout();
client.disconnect();

Ya tendremos todo nuestro código para conectarse (y desconectarse a un FTP con Java).

Hay que tener en cuenta que todo el proceso de conexión al FTP puede generar una excepción IOException. Es por ello que deberemos de tomar las medidas necesarias en una estuctura try-catch.

Vídeos sobre Java


6 comentarios en “Conectarse a un FTP con Java”

Víctor Cuervo

Pablo

Hola, necesito ver el peso de un archivo que ya fue cargador al ftp, me pueden ayudar????

Víctor Cuervo

emiliano

Hola, excelente su post.. queria saber como puedo lograr copiar un archivo que tengo en mi pc a una carpeta del servidor FTP, mediante java. saludos

Víctor Cuervo

Víctor Cuervo

Buenas emiliano,

Una vez conectador al servidor (lo explicado en el artículo) lo que tienes que hacer es leer el fichero en local y utilizar el método storeFile.

File firstLocalFile = new File("D:/Test/Projects.zip");
 
String firstRemoteFile = "Projects.zip";
InputStream inputStream = new FileInputStream(firstLocalFile);
 
boolean done = client.storeFile(firstRemoteFile, inputStream);
inputStream.close();
if (done) {
  System.out.println("The first file is uploaded successfully.");
}

Espero que te sirva.

Saludos.

Víctor Cuervo

brandonalmeida

hola un consulta podría poner un bd mysql en un servidor remoto ftp y hacer las correspondientes consultas desde java ? como se haría o de que manera podría hacerlo? saludos a todos.

Víctor Cuervo

Víctor Cuervo

Sí, lo que tienes que hacer es poner la IP de la máquina que contenga tu bbdd MySQL. Imagina que la tienes en 207.158.196.60. La conexión sería algo así:

Connection con = null;
String sURL = "jdbc:mysql://207.158.196.60:3306/lineadecodigo";
con = DriverManager.getConnection(sURL,"usuario","password");

Espero que te ayude.

Saludos.

Víctor Cuervo

Formación Online

Muy bueno, es lo que necesitaba ;) Voy a probarlo en mi portal. Un saludo y gracias

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.