Показать прогресс во время загрузки файла FTP в Java-апплет
Итак, у меня есть загрузчик, загружающий файлы с использованием Java FTP, я хотел бы обновить метку и индикатор выполнения. Метка с текстом процента, строка со значением процента int. Прямо сейчас с текущим кодом получите только 100 и полный бар в конце загрузки. Во время загрузки ни один из них не меняется.
вот:
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);
}