2013-02-22 72 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