2011-05-30 85 views
1

我使用這種方式超時下載文件

URL url = new URL(URL) 

HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setRequestMethod("GET"); 
connection.setDoOutput(true); 
connection.setConnectTimeout(TimeOut); 
connection.setReadTimeout(TimeOut); 
connection.connect(); 
String status = connection.getHeaderField(0);

我想要做的是,如果該文件未在指定時間下載,然後 下載文件停止下載或給超時異常

我有setConnectTimeout(),但只有在初始連接時間內沒有建立連接 時纔會發生異常。

回答

1

我還沒有試過這個,但我想你可以設置一個布爾變量'finished = false'在開始下載之前。 然後將其設置爲'finished = true;'下載完成時。 然後,創建一個線程,以定期檢查此變量或在所需的時間之後。如果布爾值不具有所需的狀態,請中止下載(斷開連接,關閉流)。

也看看AsyncTask-class。