elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Como se lee un archivo en un ftp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como se lee un archivo en un ftp  (Leído 10,660 veces)
juni85

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Como se lee un archivo en un ftp
« en: 28 Octubre 2011, 11:47 am »

Me gustaria leer un archivo que tengo en un servidor ftp la esta:
¿Como hago la conexión?

¿Puede ser que para leerlo y  modificarlo tenga que descargarlo en local?

--os pongo lo que he realizado
Código
  1.  
  2. public class Ftp {
  3.  
  4.     public static String visualizarFichero = "";
  5.  
  6.    try
  7.    {
  8.           URL url = new URL("ftp://" + user + ":" + pass + "@" + server + localPath);
  9.           URLConnection urlc = url.openConnection();
  10.  
  11.  
  12.                FileReader fr = new FileReader(localPath);
  13.                BufferedReader bf = new BufferedReader(fr);
  14.                String complete = "";
  15.                String line = bf.readLine();
  16.  
  17.                while (line != null)
  18.                {
  19.                    complete += line + "\n";
  20.                    line = bf.readLine();
  21.                }
  22.  
  23.                visualizarFichero = complete;
  24.                bf.close();
  25.                fr.close();
  26.                System.out.println("--- "+visualizarFichero);
  27.  
  28.     } catch (Exception ex)
  29.     {
  30.        ex.printStackTrace();
  31.        System.out.println(ex.getMessage());
  32.  
  33.    }
  34.  
  35. }
  36.  
  37. }
  38.  
  39.  


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Como se lee un archivo en un ftp
« Respuesta #1 en: 28 Octubre 2011, 12:58 pm »

Utiliza la clase sun.net.ftp.FtpClient por ejemplo:

Código
  1. import java.io.IOException;
  2.  
  3. import sun.net.ftp.FtpClient;
  4.  
  5. public class FtpConnectionDemo {
  6.  public static int BUFFER_SIZE = 10240;
  7.  
  8.  private FtpClient m_client;
  9.  
  10.  private String host = "";
  11.  
  12.  private String user = "";
  13.  
  14.  private String password = "";
  15.  
  16.  private String sDir = "";
  17.  
  18.  public FtpConnectionDemo() {
  19.    try {
  20.      System.out.println("Connecting to host " + host);
  21.      m_client = new FtpClient(host);
  22.      m_client.login(user, password);
  23.      System.out.println("User " + user + " login OK");
  24.      System.out.println(m_client.welcomeMsg);
  25.      m_client.cd(sDir);
  26.      System.out.println("Directory: " + sDir);
  27.      m_client.binary();
  28.      System.out.println("Success.");
  29.    } catch (Exception ex) {
  30.      System.out.println("Error: " + ex.toString());
  31.    }
  32.  }
  33.  protected void disconnect() {
  34.    if (m_client != null) {
  35.      try {
  36.        m_client.closeServer();
  37.      } catch (IOException ex) {
  38.      }
  39.      m_client = null;
  40.    }
  41.  }
  42. }          
  43.  

Siempre que necesito realizar una conexión por FTP utilizo dicha clase.

referencia: http://www.java2s.com/Code/Java/Network-Protocol/Establishftpconnection.htm


« Última modificación: 31 Octubre 2011, 08:14 am por Debci » En línea

juni85

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Como se lee un archivo en un ftp
« Respuesta #2 en: 28 Octubre 2011, 17:14 pm »

El codigo me da error en      m_client = new FtpClient(host);
Estoy usando netbeans
Otra cosa aparte de hacer la conexión como hago para leer??
En línea

juni85

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Como se lee un archivo en un ftp ??
« Respuesta #3 en: 28 Octubre 2011, 18:21 pm »

He creado la conexión de la sigueinte manera
ahora como hago para leer el contenido de un fichero ?
//en localPath pongo por ejemplo /fichero1.txt

Antes de empezar me he descargado la siguiente libreria
http://apache.rediris.es//commons/net/binaries/commons-net-3.0.1-bin.zip


import org.apache.commons.net.ftp.FTPClient;

Código
  1. public class Ftp
  2. {
  3.  
  4.     public static String visualizarFichero = "";
  5.     public static boolean login;
  6.     public static FTPClient client = new FTPClient();
  7.  
  8.  
  9. public static void leerFicheroFTP(String server, String user, String pass, String localPath)
  10. {
  11.    try
  12.  
  13.    {
  14.  
  15.          client.connect(server);
  16.          login = client.login(user,pass);
  17.  
  18.    } catch (IOException ex)
  19.          {
  20.                ex.printStackTrace();
  21.                System.out.println(ex.getMessage());
  22.          }
  23.  
  24.      if (login == true)
  25.       {
  26.            try
  27.            {
  28.                FileReader fr = new FileReader(localPath);
  29.                BufferedReader bf = new BufferedReader(fr);
  30.                String complete = "";
  31.                String line = bf.readLine();
  32.  
  33.                while (line != null)
  34.                {
  35.                    complete += line + "\n";
  36.                    line = bf.readLine();
  37.                }
  38.                visualizarFichero = complete;
  39.                bf.close();
  40.                fr.close();
  41.                System.out.println("--- "+visualizarFichero);
  42.                client.logout();
  43.                client.disconnect();
  44.  
  45.             }catch(IOException ex)
  46.                {
  47.                    ex.printStackTrace();
  48.                    System.out.println(ex.getMessage());
  49.                }
  50.  
  51.    }
  52.  
  53. }
  54. }
  55.  
  56.  
  57.  


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Como se lee un archivo en un ftp
« Respuesta #4 en: 28 Octubre 2011, 18:50 pm »

Usa el objeto "client" para recuperar información sobre el servidor FTP, en cualquiera de los casos puedes consultar los métodos que te facilita dicho objeto y ver que información te resulta útil.
En línea

juni85

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Como se lee un archivo en un ftp
« Respuesta #5 en: 28 Octubre 2011, 18:57 pm »

Disculpame pero no me enterado de nada
En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Como se lee un archivo en un ftp
« Respuesta #6 en: 29 Octubre 2011, 01:06 am »

la instancia del objeto FTPClient (client) tiene una serie de métodos que te permiten acceder información del servidor FTP (a lo que tengas permisos) estas librerias y métodos, en cualquier lenguaje de programación se llama API.
Mira este enlace, donde te indica todos los métodos disponibles en la clase FTPClient

http://commons.apache.org/net/apidocs/org/apache/commons/net/ftp/FTPClient.html

Allí veras más ejemplos y una extensa implementación de métodos... así que, a leer!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines