最近遇到一个视频链接打开404的情况下,导致终端app直接卡死,
规避的方法是:判断视频url是否可用,可用的话在继续操作,不可用直接跳过
public class UrlUtils {
public static void testUrl(String urlString){
long lo = System.currentTimeMillis();
URL url;
try {
url = new URL(urlString);
InputStream in = url.openStream();
System.out.println("连接可用");
} catch (Exception e1) {
System.out.println("连接打不开!");
url = null;
}
System.out.println(System.currentTimeMillis()-lo);
}
public static boolean testUrlWithTimeOut(String urlString,int timeOutMillSeconds){
long lo = System.currentTimeMillis();
URL url;
try {
url = new URL(urlString);
URLConnection co = url.openConnection();
co.setConnectTimeout(timeOutMillSeconds);
co.connect();
System.out.println("连接可用");
return true;
} catch (Exception e1) {
System.out.println("连接打不开!");
url = null;
return false;
}
// System.out.println(System.currentTimeMillis()-lo);
}
}
第一种方法会出现时间不确定,造成堵塞的情况,so用第二种有超时时间的
使用方法:
UrlUtils.testUrlWithTimeOut(data.getPro_Info().get(0).get视频地址(),2000)