Java判断一个url是否访问

最近遇到一个视频链接打开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)

 

你可能感兴趣的:(android)