问题描述
|
我正在使用这种方式下载文件
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()
,但仅当未建立连接时才给出异常
在初始连接时间内。
解决方法
我没有尝试过,但是我猜您可以在开始下载之前将布尔变量设置为'finished = false; \'。
下载完成后,将其设置为“ finished = true; \”。
然后,创建一个线程,该线程定期或在所需时间后检查此变量。如果布尔值不具有所需的状态,请中止下载(断开连接,关闭流)。
还可以看看AsyncTask类。