我想阅读 URL 的内容,但不想在 URL 无响应时“挂起”。我使用 URL 创建了一个 BufferedReader...
URL theURL = new URL(url);
URLConnection urlConn = theURL.openConnection();
urlConn.setDoOutput(true);
BufferedReader urlReader = new BufferedReader(newInputStreamReader(urlConn.getInputStream()));
...然后开始循环读取内容...
do
{
buf = urlReader.readLine();
if (buf != null)
{
resultBuffer.append(buf);
resultBuffer.append("\n");
}
}
while (buf != null);
...但如果读取挂起,则应用程序挂起。
有没有办法在不将代码细化到套接字级别的情况下,在必要时“超时”读取?
最佳答案
我认为 URLConnection.setReadTimeout 就是您要找的。p>
关于java - 如何根据 Java 中的 URLConnection 为 BufferedReader 设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/93357/