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 nombrehost
, abriendo un objetoSocket
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 elficheroLocal
especificado.
- Listar todos los ficheros disponibles en una determinada carpeta remota mediante el método
- Desconexión del servidor. El método
disconnect()
ologout()
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.