Saltar la navegación

4.3.- Programación de un cliente FTP.

Cartel con fondo gris claro incluyendo a diferentes colores  rótulos con las siguientes palabras: FTPClient, connect(), logout(), login().

Una forma sencilla de crear un cliente FTP es mediante la clase FTPClient.

Una vez creado el cliente, como en cualquier objeto SocketClient habrá que seguir el siguente esquema básico de trabajo:

  • Realizar la conexión del cliente con el servidor. El método connect(InetAddress host) realiza la conexión del cliente con el servidor de nombre host, abriendo un objeto Socket conectado al host remoto en el puerto por defecto.
  • Comprobar la conexión. El método getReplyCode() devuelve un código de respuesta del servidor indicativo de el éxito o fracaso de la conexión.
  • Validar usuario. El método login(String usuario, String password) permite esa validación.
  • Realizar operaciones contra el servidor. Por ejemplo:
    • Listar todos los ficheros disponibles en una determinada carpeta remota mediante el método listNames().
    • Recuperar el contenido de un fichero remoto mediante retrieveFile(String rutaRemota, OutputStream ficheroLocal) y transferirlo al equipo local para escribirlo en el ficheroLocal especificado.
  • Desconexión del servidor. El método disconnect() o logout() realiza la desconexión del servidor.

Ten en cuenta, que durante todo este proceso puede generarse tanto una SocketException si se superó el tiempo de espera para conectar con el servidor, o una IOException si no se tiene acceso al fichero especificado.

En el siguiente enlace, tienes un ejemplo de programación de un cliente FTP, que se conecta a un servidor remoto y se descarga un fichero. Ten en cuenta que para poder ejecutarlo, puede que tengas que desactivar cualquier cortafuegos o firewall que tengas activo.

Autoevaluación

Pregunta 1

Señala si la afirmación siguiente es verdadera o falsa:

El método FTPClient.login (user, password) realiza la conexión a un servidor FTP como el usuario indicado.