Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    JAVA: visualizzare % scaricamento file

    Vi spiego brevemente il mio problema.
    Sto creando un'applicazione peer2peer, e quando scarico un file devo poter visualizzare dinamicamente la percentuale scaricata o i byte scaricati, come avviene quando si fa il download di un file con IE o WinMX ecc...
    Devo usare RMI per creare il progetto.
    Accetto qualsiasi consiglio!
    Grazie
    Patrik

  2. #2
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Io l'ho gia fatto utilizzando una JProgress bar che viene aggiornata ogni secondo (tramite un timer). Naturalmente sto dando per scontato che tu sia gia in grado di sapere i KB totali e quelli scaricati...
    Se hai bisogno chiedi pure. :sexpulp:
    Maddalena... Perché proprio Iacchetti!...

  3. #3
    Per sapere i KB totali non ci sono problemi, però se mi spiegassi come vedere quelli scaricati te ne sarei grato... :master:
    Grazie

  4. #4
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Come effettui il download? Ti sei scaricato dal web un package apposta o hai creato tu tutte le routines?
    Maddalena... Perché proprio Iacchetti!...

  5. #5
    Uso un metodo che ho trovato sul sito della Sun, ti scrivo il codice:

    //codice per salvare il file nel client richiedente
    byte[] buffer = scarica.downloadFile("nomeDelFile");
    BufferedOutputStream output = new BufferedOutputStream(newFileOutputStream(directory + "nomeDelFile");
    output.write(buffer, 0, buffer.length);
    output.flush();
    output.close();

    //codice per inviare il file al client richiedente
    BufferedInputStream input = new BufferedInputStream(newFileInputStream("nomeFile") );
    int dim=input.available();
    byte buffer[]=new byte[dim];
    input.read(buffer,0,buffer.length);
    input.close();
    return buffer;

    in pratica mi viene ritornato il file sotto forma di array di byte e io lo salvo poi in un file vero e proprio.
    Che codice hai usato tu per fare ciò?

  6. #6
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Io avevo trovato un package FTP sul web che ti mette a disposizione dei metodi gia pronti per il trasferimento file remoto. Comunque, prova a cambiare il tuo codice così:

    BufferedOutputStream out =
    new BufferedOutputStream(
    new FileOutputStream(directory + "nomeDelFile", false));

    BufferedInputStream in =
    new BufferedInputStream(
    new FileInputStream("nomeDelFile"));

    long size = 0;
    int chunksize = 4096;
    byte [] chunk = new byte[chunksize];
    count; //Questa variabile dovrà essere leggibile dal timer

    try {
    while ((count = in.read(chunk, 0, chunksize)) >= 0) {
    out.write(chunk, 0, count);
    size += count;
    }
    }
    catch (IOException ex) {
    storedEx = ex;
    localFile.delete();
    }
    finally {
    out.close();
    }

    try {
    in.close();
    data.close();
    }
    catch (IOException ignore) {}
    A questo punto ti crei un timer, ogni volta che il timer trascorre il tempo che gli hai impostato, leggi la variabile count che contiene il numero di bytes trasferiti.

    P.S. Non sono sicuro che funzioni, te l'ho detto, io usavo un altro package, al massimo se vuoi te lo invio per posta!
    Maddalena... Perché proprio Iacchetti!...

  7. #7
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Ops... Scusa, è la variabile size che devi andare a leggere, non count!
    Maddalena... Perché proprio Iacchetti!...

  8. #8
    Mi sarebbe molto utile se mi inviassi il package di cui parli per posta! Intanto studio il codice che mi hai scritto sopra!
    Grazie x l'aiuto!

  9. #9
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Indirizzo?
    Maddalena... Perché proprio Iacchetti!...

  10. #10
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao Pireda, scusami se mi intrometto , ma mi sarebbe molto utile il package che hai utilizzato, se ti è possibile potresti inviarmelo? questo è il mio indirizzo e-mail ; se me lo invii mi faresti un grosso favore; grazie ed a buon rendere , ciaooooo
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.