Problemas com ftp[RESOLVIDO]

4 respostas
waleria

preciso pergar um arquivo em um servidor FTP, mas não consigo fazer o download do arquivo.

ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
 OutputStream os = new FileOutputStream("C:/DEBAUT/Recebeibm/");
 ftp.retrieveFile("D6FT." + "ARQ." + "REM." + "P" + ano + mes + ".P" + grupo + ".P" + regional, os );

Não sei se estou usando os metodos corretos.
FLWs…

4 Respostas

E

Pq vc nao consegue? ocorre algum erro ow vc nao consegue implementar?

waleria

Bom, implementando o codigo dá os seguintes erros:

java.io.FileNotFoundException: C:\DEBAUT\Recebeibm (Acesso negado)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
        at br.gov.pa.cosanpa.telas.Transferencia.ftp(Transferencia.java:82)
        at br.gov.pa.cosanpa.telas.Transferencia.jButton2ActionPerformed(Transferencia.java:444)
        at br.gov.pa.cosanpa.telas.Transferencia.access$200(Transferencia.java:14)
        at br.gov.pa.cosanpa.telas.Transferencia$2.actionPerformed(Transferencia.java:301)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6216)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5981)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4583)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
PMD
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
Fim da Conexão Ftp
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
T

FileOutputStream recebe o nome de um arquivo, não de um diretório. Você precisa especificar o nome de um arquivo. Exemplo:

OutputStream os = new FileOutputStream("C:/DEBAUT/Recebeibm/" + "D6FT." + "ARQ." + "REM." + "P" + ano + mes + ".P" + grupo + ".P" + regional);
dahenz

Estou tentando transferir um arquivo por FTP da seguinte forma:

public class Execute {
	public static void main( String[] args ) throws SocketException, IOException {

		FTPClient ftp = new FTPClient();				
		    
	    ftp.connect( "servidor.com.br" );
	    ftp.login("user", "pass");
	    
	    //verifica se conectou com sucesso!
	    if( FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
	    		        
	    	System.out.println("conectado!");
    		ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
    		OutputStream os = new FileOutputStream("CTe51091076080738003193570010000000170552296057.pdf");	        			        		
    		
    		System.out.println("transferindo...");
    		ftp.retrieveFile("/cte/filial/vzgr/cte_dacte_saida/CTe51091076080738003193570010000000170552296057.pdf", os );
    		System.out.println("fim...");
    		ftp.disconnect();
    				        
	    } else {
	    	
	        //erro ao se conectar
	        ftp.disconnect();
	        System.out.println("Conexão recusada");
	        
	    }	    
	}
}

Acredito que eu esteja fazendo tudo certo ... o problema é que o arquivo criado não é preenchido... o que estaria faltando????

Obrigado

Criado 17 de abril de 2009
Ultima resposta 13 de out. de 2009
Respostas 4
Participantes 4