Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1587 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] copie de fichier et progressbar

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] copie de fichier et progressbar

n°747560
ohan
Posté le 01-06-2004 à 16:13:21  profilanswer
 

Bonjour,
j'ai trouvé sur le forum une méthode qui me permet de copier des fichiers mais je voudrais savoir si il est possible d'y ajouter une JprogressBar et si oui comment :))
 

Citation :

 public static void copyFileBuffered(final String currentFile, final String newFile, final int bufferSize) throws FileNotFoundException, IOException {  
   System.out.println("On copie "+currentFile+ "vers "+newFile );
        final BufferedReader in = new BufferedReader(new FileReader(currentFile), bufferSize * 1024);  
        try {  
            final BufferedWriter out = new BufferedWriter(new FileWriter(newFile), bufferSize * 1024);  
            try {  
                int s = in.read();  
                while(s != -1) {  
                    out.write(s);  
                    s = in.read();  
                }//end while  
                out.flush();  
              } finally {  
                out.close();  
            }//end try  
          } finally {  
            in.close();  
        }//end try  
    }//end copyFileBuffered


 
Merci pour votre aide.
 
++

mood
Publicité
Posté le 01-06-2004 à 16:13:21  profilanswer
 

n°747598
nerisson
Pic-pic
Posté le 01-06-2004 à 16:23:58  profilanswer
 

Une petite lecture pour commencer:
http://java.sun.com/docs/books/tut [...] gress.html
Ensuite, il suffit de passer en parametre de cette méthode une référence vers la progress bar et de la mettre a jour. Attention, il faudra appeler cette methode dans un thread a part.


---------------
Light is right
n°747640
ohan
Posté le 01-06-2004 à 16:44:57  profilanswer
 

nerisson a écrit :


Ensuite, il suffit de passer en parametre de cette méthode une référence vers la progress bar et de la mettre a jour. Attention, il faudra appeler cette methode dans un thread a part.


Merci pour le lien :)) mais je l'avasi déjà lu !
Ce qui me pose pb en fait, c'est bien le reste
-ajouter la ref vers la progresse bar er appeler la méthode dans le thread à part.
 
merci pour votre aide.
 
++

n°747661
nerisson
Pic-pic
Posté le 01-06-2004 à 16:59:56  profilanswer
 

Codé a l'arrache en 5 minutes:

Code :
  1. private void jButton1_actionPerformed(final ActionEvent e) {
  2.     new Thread() {
  3.       public void run() {
  4.         try {
  5.           copyFileBuffered("c:/temp/src.txt", "c:/temp/dst.txt", 10, jProgressBar);
  6.         } catch(final Exception excpt) {
  7.           excpt.printStackTrace();
  8.         }
  9.       }
  10.     }.start();
  11.   }//end jButton1_actionPerformed
  12.   public static void copyFileBuffered(final String currentFile, final String newFile, final int bufferSize, final JProgressBar progressBar) throws FileNotFoundException, IOException {
  13.     final int UPDATE_LENTH = 1024;
  14.     final int fileLength = (int)(new File(currentFile).length() / UPDATE_LENTH);
  15.     progressBar.setMaximum(fileLength);
  16.     progressBar.setMinimum(0);
  17.     progressBar.setValue(0);
  18.     System.out.println("On copie "+currentFile+ "vers "+newFile );
  19.     long current = 0;
  20.     final BufferedReader in = new BufferedReader(new FileReader(currentFile), bufferSize * 1024);
  21.     try {
  22.         final BufferedWriter out = new BufferedWriter(new FileWriter(newFile), bufferSize * 1024);
  23.         try {
  24.             int s = in.read();
  25.             while(s != -1) {
  26.               out.write(s);
  27.               s = in.read();
  28.               current++;
  29.               if((current % UPDATE_LENTH) == 0) {
  30.                 progressBar.setValue((int)(current / UPDATE_LENTH));
  31. System.out.println(current / UPDATE_LENTH);
  32.               }
  33.             }//end while
  34.             out.flush();
  35.           } finally {
  36.             out.close();
  37.         }//end try
  38.       } finally {
  39.         in.close();
  40.       }//end try
  41.     }//end copyFileBuffered


A toi de le modifier pour que ca soit un peu plus bo  :D


---------------
Light is right
n°748793
ohan
Posté le 02-06-2004 à 13:38:44  profilanswer
 

C'est bon...
 
Merci bcp
++


Message édité par ohan le 02-06-2004 à 14:33:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] copie de fichier et progressbar

 

Sujets relatifs
Initialisation des labels à partir d'un fichier excelFonction création fichier html
Supprimer un fichier avec un batchinstallation java
[PHP / XML] Problème de fichier UTF-8 [Résolu][ ocaml ] - problème pour charger un fichier de données
interet des fichier crées par le createur de sites[JAVA]Comment insérer un texte dans un fichier audio?
[JAVA] Intégrer ANT : API ou ligne de commande ? 
Plus de sujets relatifs à : [java] copie de fichier et progressbar


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR