0

我想继续这个问题:如何从网站下载整个文件。我发现下载文件是一个自动过程,它不会等待用户决定取消/保存。因此,例如用户写入 url 来下载文件并等待 1 分钟。该文件可能会自动开始下载(我使用的是Firefox)到浏览器的内存中,当文件下载时,它会继续处理我有记录器“文件成功下载”的代码,但仍然有弹出窗口决定取消/保存。所以我的问题是我如何才能等待这个决定并对此做出反应。

4

1 回答 1

0

假设您有一个执行下载的对象。您可以使其实现 Runnable,然后使其作为单独的线程运行。

您可以有一个名为 setDestination(String) 的方法和一个名为 cancel() 的方法。

取消将是这样的:

public synchronized void cancel() {
    this.cancelled = True;
}

在你实际执行下载的部分,你会有一个

if (this.cancelled) {
    //remove downloaded data
    return; //Exit from the download function
}

对于 setDestination,您需要做类似的事情,将下载存储到临时文件中,最后将其移动到目标指示的文件中。

于 2013-02-22T10:05:06.363 回答