Java 如何在HttpURLConnection中限制下载时间

Java 如何在HttpURLConnection中限制下载时间,java,Java,有许多类似的问题和建议 HttpURLConnection con = (HttpURLConnection) new URL("www.google.com").openConnection(); con.setReadTimeout(1000); 这不是一个解决办法。我需要限制下载的可用时间,如果下载文件的时间超过3秒,则会引发异常。 setReadTimeout仅当数据在完全不同的指定时间内不可读取时才受尊重 我希望在阅读慢速内容提供商的内容时,避免出现不可预知的线程阻塞期。问题中显示

有许多类似的问题和建议

HttpURLConnection con = (HttpURLConnection) new URL("www.google.com").openConnection();

con.setReadTimeout(1000);
这不是一个解决办法。我需要限制下载的可用时间,如果下载文件的时间超过3秒,则会引发异常。 setReadTimeout仅当数据在完全不同的指定时间内不可读取时才受尊重


我希望在阅读慢速内容提供商的内容时,避免出现不可预知的线程阻塞期。

问题中显示的代码中没有下载。没有什么可以限制的。看看这个答案:@Andreas reaaally:-)?好的,我使用DataHandler接受SOAP的URL,但原理与中相同:@Aubergine Ahh,但是请看,在该代码中,实际下载发生在
while
循环中,并且您可以轻松地在循环中添加
if
语句,以便在经过的时间超过限制时中断。如果您的问题中没有实际下载的代码,我们如何建议对代码进行增强以实现您期望的目标?@Andreas我将添加更多详细信息。