Preciso implementar um esquema para copiar arquivos de um servidor para uma pasta local sem intervenções de usuarios, como são arquivos grandes e o FTP da muitos problemas me mandaram fazer em SCP, alguem pode me dar uma direção de onde começar, o que é necessario.
Cara ja fiz algo muito parecido,de uma olhada nesse API(commons-net-1.4.1.jar) ok.Segue um exemplo espero que lhe ajude:
publicclassFtpTeste{publicstaticvoidmain(String[]args){FTPClientftp=newFTPClient();booleansaida=false;try{ftp=newFTPClient();ftp.connect("10.1.1.1",21);ftp.login("anonymous","anonymous");intreply=ftp.getReplyCode();if(!FTPReply.isPositiveCompletion(reply)){System.out.println("Conexao recusada pelo servidor");ftp.disconnect();}if(ftp.isConnected()){System.out.println("Usuario conectado no servidor FTP");/* Porta do Servidos *//* Seta para receber dados binarios */ftp.setFileType(FTP.BINARY_FILE_TYPE);/* Escolhe o diretorio do Servidor */ftp.changeWorkingDirectory("/pub/Planta_Externa");/*Mostra todos os arquivos do diretorio atual*/String[]arquivos=ftp.listNames();//Mostra os Arquivos da Pastafor(inti=0;i<arquivos.length;i++){System.out.println(arquivos[i]);}/*Seta o nome do arquivo temp*/StringstrArquivo="ARQUIVO.XLS";/*Seta o local para guardar o arquivo temp*/StringstrFilePath="c:\temp"+"\" + strArquivo ; /*Instancia um file*/ File folderDest = new File(strFilePath); /*Instancia o arquivo de saida*/ OutputStream output = new FileOutputStream( folderDest); saida = ftp.retrieveFile(strArquivo,output); output.close(); } ftp.disconnect(); if(saida){ System.out.println("SUCESSO"); } } catch (Exception e) { System.out.println("Ocorreuumerro:" + e); System.exit(1); } }}
[/code]
V
vicentegmPJ
Cara ja fiz algo muito parecido,de uma olhada nesse API(commons-net-1.4.1.jar) ok.Segue um exemplo espero que lhe ajude:
publicclassFtpTeste{publicstaticvoidmain(String[]args){FTPClientftp=newFTPClient();booleansaida=false;try{ftp=newFTPClient();ftp.connect("10.1.1.1",21);ftp.login("anonymous","anonymous");intreply=ftp.getReplyCode();if(!FTPReply.isPositiveCompletion(reply)){System.out.println("Conexao recusada pelo servidor");ftp.disconnect();}if(ftp.isConnected()){System.out.println("Usuario conectado no servidor FTP");/* Porta do Servidos *//* Seta para receber dados binarios */ftp.setFileType(FTP.BINARY_FILE_TYPE);/* Escolhe o diretorio do Servidor */ftp.changeWorkingDirectory("/pub/Planta_Externa");/*Mostra todos os arquivos do diretorio atual*/String[]arquivos=ftp.listNames();//Mostra os Arquivos da Pastafor(inti=0;i<arquivos.length;i++){System.out.println(arquivos[i]);}/*Seta o nome do arquivo temp*/StringstrArquivo="ARQUIVO.XLS";/*Seta o local para guardar o arquivo temp*/StringstrFilePath="c:\temp"+"\" + strArquivo ; /*Instancia um file*/ File folderDest = new File(strFilePath); /*Instancia o arquivo de saida*/ OutputStream output = new FileOutputStream( folderDest); saida = ftp.retrieveFile(strArquivo,output); output.close(); } ftp.disconnect(); if(saida){ System.out.println("SUCESSO"); } } catch (Exception e) { System.out.println("Ocorreuumerro:" + e); System.exit(1); } }}