文件下载超时

问题描述

| 我正在使用这种方式下载文件
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类。