如何添加进度条以在Java中显示下载状态?

时间:2014-02-17 11:40:35

标签: java url download buffer

我正在使用外部库从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");
}

1 个答案:

答案 0 :(得分:0)

您可以构建一个进度条对话框并进行预防性显示,然后将昂贵的幕后下载过程委派给SwingWorker

SwingWorker是一种Runnable对象(它将在主线程后面执行),它专门用于更新图形元素(publish对它们的更改)。

看看这个stackoverflow问题:

SwingWorker ProgressBar