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 );
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á 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 !