Scp

3 respostas
J

Pessoal, boa tarde!

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.

Obrigado,

3 Respostas

D

Boa tarde Danilo…

Cara, no google…‘java scp’…trouxe um monte de resultados…
o que eu achei mais interessante e completo foi esse do Koders…
dá uma olhada:

http://www.koders.com/java/fidEEC07F855084DD01762BFD8A21A8D613FA0AC0D4.aspx

t+

V
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:
public class FtpTeste {
	public static void main(String[] args) {
		FTPClient ftp = new FTPClient();
		boolean saida =false;
		try {
			ftp = new FTPClient();
			ftp.connect("10.1.1.1", 21);
			ftp.login("anonymous", "anonymous");
			int reply = 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 Pasta
				for (int i = 0; i < arquivos.length; i++) {
					System.out.println(arquivos[i]);
				}				
				
				/*Seta o nome do arquivo temp*/
				String strArquivo = "ARQUIVO.XLS";
				
				/*Seta o local para guardar o arquivo temp*/
				String strFilePath = "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("Ocorreu um erro: " + e);
			System.exit(1);
		}

	}
}
[/code]
V

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:

public class FtpTeste {
	public static void main(String[] args) {
		FTPClient ftp = new FTPClient();
		boolean saida =false;
		try {
			ftp = new FTPClient();
			ftp.connect("10.1.1.1", 21);
			ftp.login("anonymous", "anonymous");
			int reply = 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 Pasta
				for (int i = 0; i < arquivos.length; i++) {
					System.out.println(arquivos[i]);
				}				
				
				/*Seta o nome do arquivo temp*/
				String strArquivo = "ARQUIVO.XLS";
				
				/*Seta o local para guardar o arquivo temp*/
				String strFilePath = "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("Ocorreu um erro: " + e);
			System.exit(1);
		}

	}
}
Criado 28 de maio de 2007
Ultima resposta 30 de mai. de 2007
Respostas 3
Participantes 3