Pokaż postęp podczas przesyłania pliku FTP w aplecie java

OK, więc mogę przesłać pliki za pomocą Java FTP, chciałbym zaktualizować etykietę i pasek postępu. Etykieta z tekstem procentowym, słupkiem z wartością procentową int. Teraz z bieżącym kodem otrzymasz tylko 100 i pełny pasek na końcu przesyłania. Podczas przesyłania żadne z nich się nie zmienia.

tutaj jest:

    OutputStream output = new BufferedOutputStream(ftpOut);
    CopyStreamListener listener = new CopyStreamListener() {
        public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {
            System.out.printf("\r%-30S: %d / %d", "Sent", totalBytesTransferred, streamSize);
            ftpup.this.upd(totalBytesTransferred,streamSize);
        }
        public void bytesTransferred(CopyStreamEvent arg0) { }
    };

    Util.copyStream(input, output, ftp.getBufferSize(), f.length(), listener);      
}

public void upd(long num, long size){
    int k = (int) ((num*100)/size);
    System.out.println(String.valueOf(k));
    this.d.setText(String.valueOf(k));
    //d.setText(String.valueOf(k));
    progressBar.setValue(k);
}

questionAnswers(3)

yourAnswerToTheQuestion