Acesso a FTP

6 respostas
T

Galera, me ajuda, por favor.

Ao executar o código abaixo é apresentado o o erro:

package Swing;

import java.io.IOException;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPClient;

public class Ftp {

    public static void main(String[] args) throws SocketException,
            IOException {
        FTPClient ftp = new FTPClient();
        ftp.connect("ftp.petrobras.com.br");
        ftp.login("usuario", "senha");
        ftp.changeWorkingDirectory("meuDir");
        String[] arq = ftp.listNames();
        System.out.println("Listando arquivos: \n");
        for (String f : arq) {
            System.out.println(f);
        }
    }
}

Erro apresentado:

[color=darkred]java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - package org.apache.commons.net.ftp does not exist
at Swing.Ftp.([/color][color=blue]Ftp.java:5[/color][color=darkred])
Could not find the main class: Swing.Ftp. Program will exit.
Exception in thread "main" Java Result: 1[/color]

Qual biblioteca devo importar? É essa mesmo (org.apache.commons.net.ftp.FTPClient)?

6 Respostas

T

Alguém pode me ajudar?

R

pega o jar desse link e aponta no seu projeto

http://www.guj.com.br/articles/154

e ali ja fala alguns detalhes de cada etapa sobre ftp em java… acho que vai te tirar muitas duvidas

T

Valeuzão!!
Eu juro que li este artigo antes de postar aqui, mas não reparei neste detalhe.

Agora está dando outro erro:

Mudei o endereço do FTP, para um link válido ftp://193.43.36.131/ . Que não pede usuário e senha. Assim:

package Swing;

import java.io.IOException;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPClient;

public class Ftp {

    public static void main(String[] args) throws SocketException,
            IOException {
        FTPClient ftp = new FTPClient();
        ftp.connect("ftp://193.43.36.131/");
        //ftp.login("temporario","");
        //ftp.changeWorkingDirectory("meuDir");
        String[] arq = ftp.listNames();
        System.out.println("Listando arquivos: \n");
        for (String f : arq) {
            System.out.println(f);
        }
    }
}

Mas aparece este erro:

[color=darkred]Exception in thread "main" java.net.UnknownHostException: ftp://193.43.36.131/
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:196)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:289)
at Swing.Ftp.main([/color][color=blue]Ftp.java:12[/color][color=darkred])
Java Result: 1[/color]

Sabe me ajudar?

Desde já, obrigado.

T

Up.

Alguém?

pmlm

Coloca apenas o IP, não o protocolo…

ftp.connect("193.43.36.131");
T

Valew, pmlm!

Deu certo.

Criado 30 de janeiro de 2013
Ultima resposta 7 de fev. de 2013
Respostas 6
Participantes 3