elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:50  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  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 1,131 veces)
juni85

Desconectado Desconectado

Mensajes: 16


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

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
 
public class Ftp {
 
    public static String visualizarFichero = "";
 
   try
   {
          URL url = new URL("ftp://" + user + ":" + pass + "@" + server + localPath);
          URLConnection urlc = url.openConnection();
 
 
               FileReader fr = new FileReader(localPath);
               BufferedReader bf = new BufferedReader(fr);
               String complete = "";
               String line = bf.readLine();
 
               while (line != null)
               {
                   complete += line + "\n";
                   line = bf.readLine();
               }
 
               visualizarFichero = complete;
               bf.close();
               fr.close();
               System.out.println("--- "+visualizarFichero);
 
    } catch (Exception ex)
    {
       ex.printStackTrace();
       System.out.println(ex.getMessage());
 
   }
 
}
 
}
 
 


En línea
adastra
Endless Learner
Colaborador
***
Desconectado Desconectado

Mensajes: 626


http://thehackerway.com/


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

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

Código
import java.io.IOException;
 
import sun.net.ftp.FtpClient;
 
public class FtpConnectionDemo {
 public static int BUFFER_SIZE = 10240;
 
 private FtpClient m_client;
 
 private String host = "";
 
 private String user = "";
 
 private String password = "";
 
 private String sDir = "";
 
 public FtpConnectionDemo() {
   try {
     System.out.println("Connecting to host " + host);
     m_client = new FtpClient(host);
     m_client.login(user, password);
     System.out.println("User " + user + " login OK");
     System.out.println(m_client.welcomeMsg);
     m_client.cd(sDir);
     System.out.println("Directory: " + sDir);
     m_client.binary();
     System.out.println("Success.");
   } catch (Exception ex) {
     System.out.println("Error: " + ex.toString());
   }
 }
 protected void disconnect() {
   if (m_client != null) {
     try {
       m_client.closeServer();
     } catch (IOException ex) {
     }
     m_client = null;
   }
 }
}          
 

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 por Debci » En línea

http://twitter.com/jdaanial
http://thehackerway.com/

"Nunca discutas con un idiota, podria no notarse la diferencia"
Kant.
juni85

Desconectado Desconectado

Mensajes: 16


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

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 »

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
public class Ftp
{
 
    public static String visualizarFichero = "";
    public static boolean login;
    public static FTPClient client = new FTPClient();
 
 
public static void leerFicheroFTP(String server, String user, String pass, String localPath)
{
   try
 
   {
 
         client.connect(server);
         login = client.login(user,pass);
 
   } catch (IOException ex)
         {
               ex.printStackTrace();
               System.out.println(ex.getMessage());
         }
 
     if (login == true)
      {
           try
           {
               FileReader fr = new FileReader(localPath);
               BufferedReader bf = new BufferedReader(fr);
               String complete = "";
               String line = bf.readLine();
 
               while (line != null)
               {
                   complete += line + "\n";
                   line = bf.readLine();
               }
               visualizarFichero = complete;
               bf.close();
               fr.close();
               System.out.println("--- "+visualizarFichero);
               client.logout();
               client.disconnect();
 
            }catch(IOException ex)
               {
                   ex.printStackTrace();
                   System.out.println(ex.getMessage());
               }
 
   }
 
}
}
 
 
 


En línea
adastra
Endless Learner
Colaborador
***
Desconectado Desconectado

Mensajes: 626


http://thehackerway.com/


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

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

http://twitter.com/jdaanial
http://thehackerway.com/

"Nunca discutas con un idiota, podria no notarse la diferencia"
Kant.
juni85

Desconectado Desconectado

Mensajes: 16


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

Disculpame pero no me enterado de nada
En línea
adastra
Endless Learner
Colaborador
***
Desconectado Desconectado

Mensajes: 626


http://thehackerway.com/


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

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

http://twitter.com/jdaanial
http://thehackerway.com/

"Nunca discutas con un idiota, podria no notarse la diferencia"
Kant.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines