Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer bytes pour ProgressBar

Actualiser la barre en fonction des bytes transférés

Sujet résolu
    30 janvier 2012 à 14:58:27

    Bonjour,

    J'ai encore besoin de votre aide, cette fois pour savoir comment récupérer les bytes envoyés lors de l'upload d'un fichier sur un sereur FTP.

    Je sais comment récupérer le nombre de bytes total à envoyer :

    int bytes = (int) file.length();
    


    Seulement je ne vois pas comment récupérer le nombre de bytes qui sont envoyés au fur et à mesure de l'upload.

    Il faudra sûrement utiliser la méthode
    progressBar.setValue(int)
    


    Mais je ne vois pas à quel moment y faire appel :euh:

    Bonne journée !
    • Partager sur Facebook
    • Partager sur Twitter
      30 janvier 2012 à 15:22:25

      Difficile à dire sans avoir ton code qui fait l'upload...


      Si tu utilises la classe FTPClient de commons.net par exemple, il me semble que le transfert se fait de façon "unitaire" dans le code Java, du coup... c'est cramé...

      Sinon j'ai lu un topic sur JavaRanch qui traite un peu de ça :

      http://www.coderanch.com/t/422839/Stre [...] -Progress-Bar

      Intéressant l'idée de l'InputStream, mais périlleux pour un débutant à mon humble avis.



      PS : commence par nous donner ton code qui gère l'upload FTP :)
      • Partager sur Facebook
      • Partager sur Twitter
        30 janvier 2012 à 15:33:26

        Re-Bonjour :)

        Je vous met mon code d'upload de fichiers, sachant que j'utilise la librairie edtftpj.

        FileTransferClient ftp = null;
        
                        try {
                        	
                        // création d'un client ftp                
                        ftp = new FileTransferClient();
        
                        // coordonnées sur serveur
                        ftp.setRemoteHost("ftp.machin.fr");
                        ftp.setUserName("login");
                        ftp.setPassword("pass");
        
                        // connexion sur le serveur                
                        ftp.connect();
        
                        // transfert du fichier 
                        final File file = new File(data); // data est le chemin du fichier sur le disque
                        final int bytes = (int) file.length();
                        ftp.uploadFile(data, "image.jpg");
                       }
        
                        // déconnexion du client               
                        ftp.disconnect();
        
                        } catch (Exception e1) {
                    	e1.printStackTrace();    	
                        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          31 janvier 2012 à 8:05:11

          Si tu utilises une JProgressBar swing, regarde les classes ProgressMonitor et ProgressMonitorInputStream.
          • Partager sur Facebook
          • Partager sur Twitter
            13 février 2012 à 16:25:07

            Problème réglé grâce à la méthode

            static class EventListenerImpl implements EventListener
            


            Je l'ai initialisée dans la partie ou j'upload le fichier comme ceci :

            ftp.setEventListener(new EventListenerImpl());
            


            Merci encore ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Récupérer bytes pour ProgressBar

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown