Ftp download diretorio

Consigo fazer o download de um arquivo atravez do commons-net

[code] public static void main( String[] args ) {

        FTPClient ftp = new FTPClient();  
        try {  
            ftp.connect( "xxx" );  
              
            //verifica se conectou com sucesso!  
            if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {  
                ftp.login( "xx", "xx" );  
            } else {  
                //erro ao se conectar  
                ftp.disconnect();  
                System.out.println("Conexão recusada");  
                System.exit(1);  
            }  
           
             ftp.changeWorkingDirectory("xx");                  
             FileOutputStream arq = new FileOutputStream("D:\\Dados\\Documents\\require");
             ftp.retrieveFile("require", arq);
             
             arq.close();
        
           } catch( Exception e ) {  
            System.out.println("Ocorreu um erro: "+e);  
            System.exit(1);  
            
        }  
              
    }  [/code]

como posso fazer download de um diretorio inteiro?
existe alguma maneira?

Liste o diretório e puxe os arquivos um de cada vez.

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

O comando equivalente do ftp para puxar vários arquivos de uma vez é o “mget”, mas ele não está implementado no FTPClient. Portanto, você vai ter de listar o diretório.

[quote=entanglement]Liste o diretório e puxe os arquivos um de cada vez.

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

O comando equivalente do ftp para puxar vários arquivos de uma vez é o “mget”, mas ele não está implementado no FTPClient. Portanto, você vai ter de listar o diretório. [/quote]

pelo visto vou ter q fazer na mão :frowning: , o problema é a quantidade de subdiretorios existentes.

Muito obrigado pela ajuda

[quote=tioola][quote=entanglement]Liste o diretório e puxe os arquivos um de cada vez.

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

O comando equivalente do ftp para puxar vários arquivos de uma vez é o “mget”, mas ele não está implementado no FTPClient. Portanto, você vai ter de listar o diretório. [/quote]

pelo visto vou ter q fazer na mão :frowning: , o problema é a quantidade de subdiretorios existentes.

Muito obrigado pela ajuda[/quote]

Em alguns servidores FTP é possível executar comandos remotos, como o tar ou o zip. Se esse servidor FTP suportar isso, pode-se executar algum comando como um "tar cfz " ou “zip -r1” coisa parecida, e então você baixa o tar ou o zip, e o descompacta na sua máquina. A vantagem nesse caso é se a conexão for lenta e o servidor estiver com CPU ociosa, você resolve o problema de conexão lenta e o problema de subdiretórios