Estou com o seguinte problema:
Utilizo o FTPCliente para pegar arquivos do servidor. Para isso uso o método
retrieveFileStream já que nao tenho a intenção de gravar o arquivo, apenas de exibi-lo.
O fato é que preciso fazer o download de dois arquivos em cada consulta.
O primeiro arquivo é recebido corretamente, porem o segundo vem null.
Como posso resolver esse problema ?
A princípio, consegui faze funciona, desconectando e conectando novamente o FTP para fazer o download do segundo arquivo. Mas essa não é melhor solução.
Agradeço muito a que puder me ajudar.
descobri como contornar o problema. Tem que fazer uso do método
completePendingCommand antes de fazer o segundo download.
segue abaixo o código responsavel por fazer a consulta:
private void Consulta(){
FTPClient ftp = new FTPClient();
try{
//conecta no Banco de Dados
ftp.connect("xxx");
ftp.login("xx","xx");
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
//pega o primeiro arquivo
InputStream f=ftp.retrieveFileStream("arq1");
if(f==null){
//se o arquivo nao for achado
}
else{
//se encontrado procura o outro arquivo
if(ftp.completePendingCommand()){
//pega segundo arquivo
f=ftp.retrieveFileStream("arq2");
}
}
ftp.logout();
ftp.disconnect();
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Erro ao conectar no FTP.");
}
}