我正在尝试在java中读取URL,只要在浏览器中加载URL,它就可以正常工作.
但是如果它只是在浏览器中滚动并且在我尝试在浏览器中打开它时没有加载该页面,我的Java应用程序就会挂起,它可能会在给定足够时间的情况下永远等待.如果加载超过20秒我停止我的应用程序,如何设置超时或其他什么?
我正在使用URL
以下是代码的相关部分:
URL url = null;
String inputLine;
try {
url = new URL(surl);
} catch (MalformedURLException e) {
e.printStackTrace();
}
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(url.openStream()));
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
小智 10
我不知道你是如何使用URL类的.如果发布一个片段会更好.但这是一种适合我的方式.看看它对你的情况有帮助:
URL url = new URL(urlPath);
URLConnection con = url.openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(readTimeout);
InputStream in = con.getInputStream();
Run Code Online (Sandbox Code Playgroud)