2013-02-22 41 views
0

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

+0

此问题不是针对浏览器的吗?在铬下载文件中的 – 2013-02-22 09:59:40

+0

是自动的(默认设置),它不显示任何弹出窗口,所以我只是为了写我的浏览器 – hudi 2013-02-22 10:02:24

回答

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 ,将下载文件存储到临时文件中,最后将其移动到目标文件所指示的文件中。

+0

,但我仍然不知道何时调用方法取消 – hudi 2013-02-22 12:01:50

+0

当用户按下按钮取消? – LtWorf 2013-02-22 12:40:34

+0

以及如何在java代码中弄清楚?那里我没有任何形式 – hudi 2013-02-22 13:50:06