FTP - Problemas ao enviar o arquivo

Olá Amigos,

Estou com um problemas ao enviar e recuperar um arquivo via ftp.

Não aparece nenhuma exception, porén meu arquivo não aparece no servidor e ao tentar pegar algum arquivo ele vem sem conteúdo.
Esse é o código q estou utilizando.

//faz o envio do arquivo
ftp.storeFile( nomeArquivo, is );
boolean ftpq = ftp.storeFile(nomeArquivo,is );

//Porém vem falso minha flag…isso que não entendi o porque.

E quando vou recuperar o arquivo vem vazio.

             //recuperando os arquivos ftp
             ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
             OutputStream os = new FileOutputStream("onconfig.cbsp999");
             ftp.retrieveFile("onconfig.cbsp999", os );   

Algúem poderia me ajudar?!
Obrigado

Você poderia colocar o código completo?

Eu escrevi um artigo bem simples, explicando o envio e o recebimento de arquivos via FTP. Dá um olhada:

Um abraço!

Glaucio Guerra

 public static void main( String[] args ) {
     String nomeArquivo = null;
     FTPClient ftp = new FTPClient();
     FTP ftpMedial = new FTP();
     try {
         ftp.connect( "999.99.9.999" );
         
         //verifica se conectou com sucesso!
         if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
             ftp.login( "USUARIO", "SENHA" );
         } else {
             //erro ao se conectar
             ftp.disconnect();
             System.out.println("Conexão recusada");
             System.exit(1);
         }

         //para cada arquivo informado...
         for( int i=0; i<args.length; i++ ) {
             //abre um stream com o arquivo a ser enviado
             InputStream is = new FileInputStream("C:/arquivo/arq_env.txt");
             //pega apenas o nome do arquivo
             int idx = args[i].lastIndexOf(File.separator);
             if( idx < 0 ) idx = 0;
             else idx++;
             nomeArquivo = args[i].substring( idx, args[i].length() );
            
             //ajusta o tipo do arquivo a ser enviado
             if( args[i].endsWith(".txt") ) {
                 ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
             } else if( args[i].endsWith(".jpg") ) {
                 ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
             } else {
                 ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
             }
             
             //recuperando os arquivos ftp
             ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
             OutputStream os = new FileOutputStream("onconfig.cbsp999");
             ftp.retrieveFile("onconfig.cbsp999", os );          
             
             //faz o envio do arquivo
             ftp.storeFile( nomeArquivo, is );
             boolean ftpq = ftp.storeFile("arq_env.txt", is );
             System.out.println("Arquivo "+nomeArquivo+" enviado com sucesso!");
                          
         }
         
         ftp.disconnect();
         System.out.println("Término do FTP");
        
        
     } catch( Exception e ) {
         System.out.println("Ocorreu um erro: "+e);
         System.exit(1);
     }
 }

Olá Java Digao,

Obtiveste alguma resposta, ou conseguiste dar com o erro?
Obrigado

Eu utilizo o commons da apache para ftp, e nunca tive problemas…
Se quizer ver o codigo que uso no meu projeto de utils, vc pode ver neste link:http://opensutils-br4j.googlecode.com/svn/OpenSutils-Br4J/src/org/opensutils/io/ftp/FTPApacheCommonsNetImpl.java
Ou baixe o proj: http://code.google.com/p/opensutils-br4j/w/list

Obrigado

Eu utilizei bastante o J2SSH para comunicação SSH, bem como envio de arquivos via SFTP.

Criei um utilitário que encapsula o uso da biblioteca e torna mais simples:

E porque utilizar SFTP ao invés de FTP:

https://www.ccs.uky.edu/machines/sftp.html

Olá pessoal, aproveitando este tópico sobre FTP, gostaria que alguém me aconselhasse em um problema que está ocorrendo aqui comigo.

Criei uma funcionalidade onde o cliente escolhe o arquivo em sua máquina e o salva em um servidor ftp que esta conectado, até ai tudo bem, consegui realizar a conexão com o ftp, encaminhar o arquivo, sem erros. Mas o problema é que tudo isso apenas dá certo no servidor aqui da empresa, quando atualizo o sistema no servidor do cliente nada acontece, clico no botão e é como se nada tivesse ocorrendo, nenhuma exception é gerada, NADA !
O que poderia estar acontecendo ? Creio que não deve ser erros no código pois em minha máquina e acesso remoto no servidor aqui da empresa roda normal, imagino que possa ser alguma permissão ou no servidor ou no serviço de ftp do cliente.
Obrigado pela atenção !

Pessoal, realizando testes e fazendo verificações vi que o erro ocorre porque ele não chega a acessar a classe FTPClient, ou seja, fui colocando joptionpanes pela aplicação para ver onde ele para, e ao chegar na linha para criar uma instancia da classe FTPClient ele não faz nada. Será que é algum erro de permissão do FTP ? ou do servidor ?
Agradeço ajudas !