Boa tarde ,
segui o artigo do fórum para transferência de arquivos ftp.
A diferença é que eu fiz uma classe para tranferir de um local remoto para outro . Segue abaixo a classe…
package util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPClient;
public class Util2
{
public static void main( String[] args )
{
String nomeArquivo = null;
FTPClient ftpMaster = new FTPClient();
FTPClient ftpSlave = new FTPClient();
File dest = new File("/home/cognex/CamPictures/");
try
{
ftpMaster.connect( "10.43.9.81" );
//verifica se conectou com sucesso
if( FTPReply.isPositiveCompletion( ftpMaster.getReplyCode() ) )
{
ftpMaster.login( "123", "123" );
ftpMaster.changeWorkingDirectory("/home/master/images/");
}
else
{
//erro ao se conectar
ftpMaster.disconnect();
System.out.println("Conexão recusada");
System.exit(1);
}
ftpSlave.connect( "10.43.9.82" );
//verifica se conectou com sucesso!
if( FTPReply.isPositiveCompletion( ftpMaster.getReplyCode() ) )
{
ftpMaster.login( "123", "123" );
ftpMaster.changeWorkingDirectory("/home/cognex/CamPictures/");
}
else
{
//erro ao se conectar
ftpMaster.disconnect();
System.out.println("Conexão recusada");
System.exit(1);
}
String[] arquivos = ftpMaster.listNames();
//para cada arquivo informado...
for( int i=0; i<arquivos.length; i++ )
{
// armazena o destino para onde serão enviados os arquivos
OutputStream out = new FileOutputStream(dest+"/");
//pega apenas o nome do arquivo
int idx = arquivos[i].lastIndexOf(File.separator);
if( idx < 0 ) idx = 0;
else idx++;
nomeArquivo = arquivos[i].substring( idx, args[i].length() );
//ajusta o tipo do arquivo a ser enviado
if( arquivos[i].endsWith(".txt") )
{
ftpMaster.setFileType( FTPClient.ASCII_FILE_TYPE );
} else if( arquivos[i].endsWith(".jpg") )
{
ftpMaster.setFileType( FTPClient.BINARY_FILE_TYPE );
} else
{
ftpMaster.setFileType( FTPClient.ASCII_FILE_TYPE );
}
System.out.println("Enviando arquivo "+nomeArquivo+"...");
//faz o envio do arquivo
ftpMaster.retrieveFile("/home/master/images/"+ arquivos[i],out);
System.out.println("Arquivo "+nomeArquivo+" enviado com sucesso!");
}
ftpMaster.disconnect();
ftpSlave.disconnect();
System.out.println("Fim. ");
}
catch( Exception e )
{
System.out.println("Ocorreu um erro: "+e);
System.exit(1);
}
}
}
Eu consigo conectar aos endereços e listar os arquivos existentes sem problemas …só que na linha em que armazena o destino para onde serão enviados os arquivos dá o seguinte erro
Ocorreu um erro: java.io.FileNotFoundException: \home\cognex\CamPictures (O sistema não pode encontrar o caminho especificado)
Alguém pode me ajudar ?