Progression avec progressbar lors de copie de fichier [Résolu]

Signaler
Messages postés
22
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
22 mars 2007
-
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
-
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

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
35
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."
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
35
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."