我正在使用外部库从Mega下载文件,但我需要一个进度条来向用户显示下载的持续时间。我已经在stackoverflow上阅读了很多与进度条相关的文章,但问题是我不知道在我的代码中花了这么长时间来添加进度条。
在何处以及如何添加进度条以显示下载状态?
try {
URLConnection urlConn = new URL(file_url).openConnection();
print(file_url);
is = urlConn.getInputStream();
while ((read = is.read(buffer)) > 0) {
cos.write(buffer, 0, read);
}
} finally {
try {
cos.close();
if (is != null) {
is.close();
}
} finally {
if (fos != null) {
fos.close();
}
}
}
print("Download finished");
}
答案 0 :(得分:0)
您可以构建一个进度条对话框并进行预防性显示,然后将昂贵的幕后下载过程委派给SwingWorker
。
SwingWorker
是一种Runnable对象(它将在主线程后面执行),它专门用于更新图形元素(publish
对它们的更改)。
看看这个stackoverflow问题: