Advertisement
Mike7GB

MP09_UF3_EJ5

Dec 8th, 2023
893
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.45 KB | None | 0 0
  1. package mp09_uf3_ej5;
  2.  
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import org.apache.commons.net.ftp.FTPClient;
  7. import org.apache.commons.net.ftp.FTPFile;
  8. import org.apache.commons.net.ftp.FTPReply;
  9.  
  10. /**
  11.  *
  12.  * @author luism
  13.  */
  14. public class MP09_UF3_EJ5 {
  15.  
  16.     /**
  17.      * @param args the command line arguments
  18.      */
  19.     public static void main(String[] args) throws IOException {
  20.         // Constantes
  21.         final String SERVIDOR = "demo.wftpserver.com";
  22.         final int PUERTO = 21;
  23.         final String USUARIO = "demo";
  24.         final String PASSWORD = "demo";
  25.        
  26.         FTPClient clienteFtp = new FTPClient(); // Objeto cliente
  27.        
  28.         // 1. Conexión al servidor
  29.         clienteFtp.connect(SERVIDOR, PUERTO);
  30.         int respuesta = clienteFtp.getReplyCode();
  31.        
  32.         // Comprobar conexión
  33.         if (!FTPReply.isPositiveCompletion(respuesta)) {
  34.             System.out.println("Algo ha salido mal "+respuesta);
  35.         }
  36.        
  37.         // 2. Login
  38.         boolean loginSatisfactorio = clienteFtp.login(USUARIO, PASSWORD);
  39.        
  40.         // Comprobar login correcto
  41.         if (loginSatisfactorio) {
  42.             System.out.println("Conexión correcta.");
  43.             System.out.println("-----------------------------------");
  44.         }
  45.        
  46.         // 3. Listar archivos de la raíz
  47.         System.out.println("Mostrando archivos desde la raíz: ");
  48.         FTPFile[] files = clienteFtp.listFiles();
  49.         for (FTPFile archivo : files) { // Recorrer arraylist para mostrar cada archivo
  50.             System.out.println(archivo.getName());
  51.         }
  52.         System.out.println("-----------------------------------");
  53.        
  54.         // 4. Listar archivos de la carpeta download
  55.         System.out.println("Mostrando archivos desde la raíz: ");
  56.         files = clienteFtp.listFiles("/download");
  57.         for (FTPFile archivo : files) { // Recorrer arraylist para mostrar cada archivo
  58.             System.out.println(archivo.getName());
  59.         }
  60.         System.out.println("-----------------------------------");
  61.        
  62.         /*
  63.             5. Subir manualmente el archivo.doc
  64.             **se adjunta captura de pantalla con el archivo subido**
  65.         */        
  66.        
  67.         // 6. Descargar archivo.doc
  68.         String archivoadescargar = "upload/archivo.doc"; // Nombre del archivo en el servidor
  69.         FileOutputStream ostream = new FileOutputStream("archivo.doc");
  70.         Boolean descargado = clienteFtp.retrieveFile(archivoadescargar, ostream);
  71.         ostream.close();
  72.         if (descargado) { // Comprobación de descarga
  73.             System.out.println("Descargado con éxito");
  74.             System.out.println("-----------------------------------");
  75.         }
  76.        
  77.         // 7. Subir archivo2.doc
  78.         String archivoasubir = "archivo.doc"; // Fichero a subir al servidor desde mi equipo
  79.         FileInputStream instream = new FileInputStream(archivoasubir);
  80.         Boolean subido = clienteFtp.appendFile("upload/archivo2.doc",instream); // Se sube con el nombre archivo2.doc
  81.         instream.close();
  82.         if (subido) {
  83.             System.out.println("Subido con éxito.");
  84.             System.out.println("-----------------------------------");
  85.         }
  86.                
  87.         // 8. Desconexión del servidor
  88.         clienteFtp.disconnect();
  89.         System.out.println("Desconexión.");
  90.        
  91.     }
  92.    
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement