Progression avec progressbar lors de copie de fichier

Résolu
inquisitor87 Messages postés 22 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 22 mars 2007 - 22 mars 2007 à 21:10
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 22 mars 2007 à 21:58
Bonsoir à tous et toutes. Je travail actuellement à un navigateur de fichier avancé, mais je bloque bêtement sur quelque chose qui, j'en suis sûr, doit être très simple...

Je fais une copie de fichier en utilisant les input et output stream. Mais même en regardant à chaque buffer d'écriture, je n'arrive pas à faire bouger ma progressbar, pire, l'affichage de mon dialog ne montre que les bords, et pas la progressbar. Je ne sais plus quoi faire, j'y ai déjà passé des heures. Voici mon code :

java.io.FileInputStream read = new java.io.FileInputStream(fichiertemp2);

java.io.FileOutputStream write = new java.io.FileOutputStream((java.io.File)ListeDesFichiersACreer.elementAt(CompteurCopieLocal));

byte[] tabLu = new byte[10000];
int nbLu;

 while((nbLu = read.read(tabLu)) > 0){
write.write(tabLu,0,nbLu);

if(compteurrafraichiraffichage == 100)
{
TailleActuelleCopieFichierEnCours = TailleActuelleCopieFichierEnCours + 10000;
int x = (int)((TailleActuelleCopieFichierEnCours*100)/TailleTotaleFichierEnCours);
this.jProgressBar1.setValue(x);
//this.repaint();
//this.setVisible(true);
//this.dialogInit();
compteurrafraichiraffichage = 0;
System.out.println("Progressbar = " + x);
}
compteurrafraichiraffichage ++;

}
 write.close();
read.close();

Si quelqu'un a une idée, je lui en serais très reconnaissant(e). Merci à tous par avance de votre aide précieuse.

Amicalement,

2 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 mars 2007 à 21:58
Salut:

Autre remarque avec JDK 1.6 il y a une classe très intéressante qui te permet de faire ça à perfection: SwingWorker.



Voici un exemple d'un progresse bar pour la copie des fichiers avec SwingWorker:



http://rom.developpez.com/java-swingworker/



__________________________________________________________
A.B. : 

"Dieu nous donne des mains, mais il ne bâtit pas les ponts."
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 mars 2007 à 21:57
Salut:

Ce problème a été traité auparavant. Voir ceci:


http://www.javafr.com/infomsg_RUNNABLE_893044.aspx

________________________________________________________________________________
A.B. : 

"Dieu nous donne des mains, mais il ne bâtit pas les ponts."
0
Rejoignez-nous