java檢測本機網絡連接狀態

java檢測網絡連接狀態:




方法一:使用IO流打開b百度連接如果能打開說明網絡連接正常,如果拋出異常則網絡連接失敗


import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;


public class TestIntent {


public static void main(String[] args) {  
        URL url = null;  
        try {  
            url = new URL("http://baidu.com");  
            try {  
                InputStream in = url.openStream();  
                in.close();  
                System.out.println("網絡連接正常!");  
            } catch (IOException e) {  
                System.out.println("網絡連接失敗!");  
            }  
        } catch (MalformedURLException e) {  
            e.printStackTrace();  
        }  
    }  
}






方法二:




package com.biyunkeji.utils;


import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DateFormat;
import java.util.Date;


public class IntentAvailableUtil {
    /**記錄連接次數**/
private static int count = 0;
/**URL**/
private static URL urlStr = null;
/**連接響應碼**/
private static int stateCode = 0;
/**記錄網絡斷開時間**/
private static String closeTime = null;
/**HttpURLCOnnection對象**/
private static HttpURLConnection connection = null;


/***
* 功能描述:檢測當前的網絡是否斷開或當前地址是否可連接
*        如果網絡沒有斷開,最多連接網絡5次,如果5次連接不成功說明該地址不存在或
*        視爲無效地址。
* @param url
*/
public synchronized static boolean connState(String url) {

while(count < 5){
try {
urlStr = new URL(url);
connection = (HttpURLConnection) urlStr.openConnection();
stateCode = connection.getResponseCode();
if(stateCode == 200){
return true;
}
} catch (Exception e) {
if(closeTime == null){
DateFormat df = DateFormat.getDateTimeInstance();
closeTime = df.format(new Date());
System.out.println("網絡連接已斷開,請檢查網絡連接設備");
System.out.println("斷開時間:"+closeTime);
System.out.println("程序開始沒10秒檢查一次");
}
try {
System.out.println("開始第"+ ++count +"次檢查網絡連接狀態");
Thread.sleep(10000);
} catch (InterruptedException e1) {
}
}

}

return false;

}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章