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);
}