Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132

    download ftp

    Ciao a tutti, cerco aiuto per un problema :
    ho una classe che scarica un file txt da un server ftp.
    Funziona spesso, ma a volte rimane appesa e devo uscire forzatamente dall'applicazione.
    Credo che il problema sia tra il metodo "retrieveFile" e w. firewall.
    Con vista va meglio che con xp.
    Mi servirebbe anche un metodo per poter annullare l'operazione senza uscire dall'applicazione.


    import org.apache.commons.net.ftp.FTP;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPReply;


    public void aggiorna (String server, String username,
    String password,String fileToTransfer)
    {
    try {
    FTPClient ftp = new FTPClient();
    ftp.enterLocalPassiveMode();
    ftp.connect(server, 21);
    ftp.login(username, password);
    String risposta=ftp.getReplyString();
    System.out.println("risposta :" +risposta);
    int reply;
    reply = ftp.getReplyCode();
    System.out.println("reply " +reply);
    if (!FTPReply.isPositiveCompletion(reply))
    {
    System.out.println("reply negativa " +reply);
    }
    else{
    System.out.println("reply positiva " +reply);
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    FileOutputStream lfile = new FileOutputStream("file.txt");
    boolean c=ftp.retrieveFile(fileToTransfer, lfile);
    System.out.println("file scaricato :"+c);
    lfile.close();
    ftp.logout();
    ftp.disconnect();
    System.out.println("disconnesso");
    }
    } catch (SocketException ex) {
    Logger.getLogger(FTP_modulo_3View.class.getName()) .log(Level.SEVERE, null, ex);
    System.exit(1);
    } catch (IOException ex) {
    Logger.getLogger(FTP_modulo_3View.class.getName()) .log(Level.SEVERE, null, ex);
    System.exit(1);
    }
    catch(Exception e)
    {
    System.exit(1);
    }
    }


    Grazie : )

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Prendi visione del Regolamento interno.

    Il codice va postato indentato all'interno degli appositi tag CODE.
    Il tuo codice non è per niente indentato, quindi rimane illeggibile.

    Inoltre, "mi servirebbe anche un metodo che..." non è una richiesta consentita: se chiedi delucidazioni su codice tuo, ok. Se chiedi dove poter trovare informazioni a riguardo ok. Se chiedi a qualcuno di sviluppare per te del codice, c'è il forum "Offro Lavoro / Collaborazione".

    Sistemo il titolo della discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Grazie per i consigli.
    Chiedo scusa, mi sono espresso male, chiedevo solo se è possibile
    modificare il mio codice affinchè, quando rimane appeso sul comando "ftp.retrieveFile",
    il programma riesca a proseguire senza andare in errore.
    Ho cercato di inserire un'eccezzione, ma non la trovo.
    Ho provato con bottone annulla, ma non lo considera quando è bloccato sul retrive.

    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Ciao a tutti.
    Ho risolto da solo : )
    Il problema dell'errore era dovuto al server ftp, ora con "drivehq" funziona.
    Per quanto riguarda il fatto che il prog si blocca quando la connessione va in errore :
    Ho inserito il metodo in un thread

    codice:
    public void avvio1 () {      
        AvvioThread1 a =new AvvioThread1();
        AvvioThread2 b =new AvvioThread2();
        
        a.start();
        b.start();
    }
    
    public class AvvioThread1 extends Thread{
     public AvvioThread1(){
    }
     public void run() {
    //metodo connessione ftp
    }
    Grazie a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.