下载文件超时

发布于 2024-11-11 14:57:47 字数 490 浏览 2 评论 0原文

我正在使用这种方式下载文件,

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() 但仅在未建立连接时给出异常 在初始连接时间内。

I am downloading a file using this way

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);

what I want do is if the file is not downloaded in the specified time then
it stops download or give timeout Exception.

I had setConnectTimeout() but only give exception if the connection is not established
within the initial connection time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

很酷又爱笑 2024-11-18 14:57:47

我还没有尝试过这个,但我想你可以将布尔变量设置为“finished = false;”在开始下载之前。
然后将其设置为“finished = true;”下载完成后。
然后,创建一个线程,定期或在所需时间后检查此变量。如果布尔值不具有所需的状态,则中止下载(断开连接,关闭流)。

另请查看 AsyncTask 类。

I have not tried this, but I guess you could set a boolean variable to 'finished = false;' before you start downloading.
Then set this to 'finished = true;' when download is finished.
Then, create a thread that checks this variable on a regular interval or after the desired time. If the boolean value does not have the desired state, abort the download (disconnect connection, close the stream).

Also have a look at the AsyncTask-class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文