Saltar al contenido

¿Cómo copiar un archivo en el servidor FTP a un directorio en el mismo servidor en Java?

Buscamos por todo el mundo on line para tenerte la respuesta para tu duda, en caso de inquietudes puedes dejar tu comentario y te responderemos sin falta, porque estamos para servirte.

Solución:

Si está utilizando apache commons net FTPClienthay un método directo para mover un archivo de una ubicación a otra ubicación (si el user tiene los permisos adecuados).

ftpClient.rename(from, to);

o, si está familiarizado con ftp commandspuedes usar algo como

ftpClient.sendCommand(FTPCommand.yourCommand, args);
if(FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) 
     //command successful;
 else 
     //check for reply code, and take appropriate action.

Si está utilizando cualquier otro cliente, consulte la documentación. No habrá muchos cambios entre las implementaciones del cliente.

ACTUALIZAR:

El enfoque anterior mueve el archivo a to directorio, es decir, el archivo no estará allí en from directorio nunca más. Básicamente, el protocolo ftp está destinado a transferir los archivos desde local <-> remote o remote <-> other remote pero no para transferir en el servidor.

El trabajo aquí sería más simple, obtenga el archivo completo en un local InputStream y escríbalo de nuevo en el servidor como un nuevo archivo en el directorio de copia de seguridad.

para obtener el archivo completo,

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ftpClient.retrieveFile(fileName, outputStream);
InputStream is = new ByteArrayInputStream(outputStream.toByteArray());

ahora, almacene esta transmisión en el directorio de respaldo. Primero necesitamos cambiar el directorio de trabajo al directorio de respaldo.

// assuming backup directory is with in current working directory
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//binary files
ftpClient.changeWorkingDirectory("backup");
//this overwrites the existing file
ftpClient.storeFile(fileName, is);
//if you don't want to overwrite it use storeUniqueFile

Espero que esto te ayude..

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *