amap-ftp

Última modificación por Administrator el 2019/11/04 12:20

amap-ftp-1.1.0 - 2016/01/28

- Soporter para conexiones SFTP
- Añadido TimeOut por defecto

amap-ftp-1.0.0

Versión inicial

<dependency>
<groupId>es.gobcantabria.amap.utilidades</groupId>
<artifactId>amap-ftp</artifactId>
<version>1.1.0</version>
</dependency>

Es necesario disponer de los datos de autenticación de un servidor FTP/SFTP

Sin recursos disponibles.

Configuración

Para la utilización del component amap-ftp basta con añadir la dependencia al pom.xml de maven (o el jar y sus correspondientes dependencias al classpath de la aplicación), crear una instancia nueva del servicio de ftp o sftp y llamar al metodo "conecta" pasando los parametros requeridos:

FTPServiceInterface service =  FTPService.getServicioFTP();
service.conecta(SERVIDOR, PUERTO, USER, PASSWORD, TIMEOUT);
Nombreamap-ftp
Identificadoramap-ftp
Grupoes.gobcantabria.amap.utilidades
Versión1.1.0
Licencia
Desarrollador
Descripción

Componente para la interacción con servidores FTP/SFTP

Documentaciónamap-ftp (JavaDoc)
Binarioamap-ftp (Jar)

Sin particularidades. Seguir las recomendaciones del fabricante.

Ejemplos de uso

Conectarse a un servidor

Para conectarse, hay que crear una instancia del servicio FTP o del SFTP y llamar al método conecta pasándole los argumentos requeridos.

SERVIDOR: String con la dirección del servidor FTP.
PUERTO: Puerto a través del que deseamos conectarnos, puede cambiar para SFTP.
USER: Usuario con el que nos autenticaremos en el servidor FTP.
PASSWORD: Contraseña del usuario.
TIMEOUT(Opcional): Tiempo en milisegundos que esperara al intentar conectarse, por defecto tiene un valor de 2000ms.

FTPServiceInterface service =  FTPService.getServicioFTP();
service.conecta(SERVIDOR, PUERTO, USER, PASSWORD, TIMEOUT);
service.conecta(SERVIDOR, PUERTO, USER, PASSWORD); // con timeout por defecto

Es posible conectarse con el usuario anónimo utilizando el método sin usuario ni contraseña(Intentará utilizar el usuario "anonymous" y la contraseña "guest"):

service.conecta(SERVIDOR, PUERTO, TIMEOUT);
service.conecta(SERVIDOR, PUERTO); // con timeout por defecto

Desconectarse

Para desconectarnos del servidor FTP/SFTP llamaremos al método "desconecta":

service.desconecta();

Crear una carpeta

Para crear una carpeta en el servidor de FTP/SFTP, debemos de llamar al método "creaCarpeta", pasándole como argumento la ruta completa de la nueva carpeta(con el nombre de esta incluido):

service.creaCarpeta(ruta);

Por ejemplo, el siguiente código generará una carpeta llamada "prueba" en la raíz del servidor FTP/SFTP:

service.creaCarpeta("prueba");

Borrar una carpeta

Para borrar un directorio del servidor FTP/SFTP, llamaremos al método "borraCarpeta" pasándole como argumento la ruta de la carpeta:

service.borraCarpeta(ruta);

Por ejemplo, el siguiente código eliminaría una carpeta llamada "prueba" de la raíz del servidor FTP/SFTP:

service.borraCarpeta("/prueba");

Borrar un fichero

Para borrar un fichero del servidor FTP/SFTP, llamaremos al método "borraFichero" pasándole como argumento la ruta del fichero:

service.borraFichero(ruta);

Por ejemplo, el siguiente código eliminaría un fichero llamado "prueba.txt" de la carpeta "prueba":

service.borraFichero("prueba/prueba.txt");

Descargar un fichero

Para descargar un fichero llamaremos al método "downloadFichero" pasando como argumentos la ruta dentro del servidor donde esta el fichero y la ruta donde queremos guardar el fichero en nuestro equipo:

service.downloadFichero(rutaOrigen, rutaDestino);

Listar

Para listar todos los nombres de carpetas en una carpeta del servidor FTP/SFTP, llamaremos al método "getListaCarpetas" pasando como argumento la ruta del directorio cuyo contenido queremos listar:

service.getListaCarpetas(ruta);

Para conseguir una lista de todos los nombres de documentos (no carpetas) en una carpeta del servidor FTP/SFTP:

service.getListaDocumentos(ruta)

Para conseguir un listado de ficheros filtrados por el objeto "filtro":

service.getListaFicheros(ruta, filtro)

El objeto filtro debe extender la clase FicheroFiltro sobrescribiendo el método "aceptar".

public class DocumentoFiltro extends FicheroFiltro {

 @Override
 public boolean aceptar(Fichero fichero) {
  return fichero != null && Fichero.Tipo.DOCUMENTO == fichero.getTipo();
 }

}

Mover un fichero

Para mover un fichero llamaremos al método "mueveFichero" pasando como argumentos la ruta de origen del fichero en el servidor y la ruta de destino en el servidor.

Atención: Tenga precaución al utilizar este método, por que se trata de un Alias del método "renombrar" y si no indica correctamente la ruta de destino puede estar renombrando el fichero.

service.mueveFichero(rutaOrigen, rutaDestino)

Renombrar un fichero

Este método sirve para renombrar un fichero, recibe como argumentos la ruta de origen del fichero en el servidor y la ruta de destino la cual ha de ir con el nuevo nombre del fichero:

service.renombra(rutaOrigen, rutaDestino)

uploadFichero

Para subir un fichero al servidor ftp deberemos llamar al método "uploadFichero", tenemos tres sobrecargas del método, podemos pasarle el fichero como Byte[], pasarle una string con la ruta del fichero o como un InputStream.
el segundo argumento se trata de la ruta de destino en la que queremos dejar el fichero.
En el caso de que le pasemos un InputStream hay un tercer argumento para indicar si se debe de cerrar el stream cuando acabe.

service.uploadFichero(byte[], String)
service.uploadFichero(String, String)
service.uploadFichero(InputStream, String, boolean)
© 2014 GOBIERNO DE CANTABRIA - AVISO LEGAL Y PROTECCIÓN DE DATOS