首页 > 代码库 > (转)JAVA实现Windows拨号

(转)JAVA实现Windows拨号

原理:

       通过调用windows下的dos命令实现拨号

 

public class ConnectNetWork {	public static String executeCmd(String str) throws Exception {		Process p = Runtime.getRuntime().exec("cmd /c " + str);		StringBuilder sb = new StringBuilder();		BufferedReader br = new BufferedReader(new InputStreamReader(				p.getInputStream(), "gbk"));				String line=null;		while ((line = br.readLine()) != null) {			sb.append(line + "\n");		}			return sb.toString();	}	public static boolean connAdsl(String adslTitle, String adslName,			String adslPsw) throws Exception {		String adslCmd = "rasdial " + adslTitle + " " + adslName + " "				+ adslPsw;		String tempCmd = executeCmd(adslCmd);				// 判断连接是否成功		if (tempCmd.indexOf("已连接") > 0 || tempCmd.indexOf("已经连接") > 0) {			System.out.println("已成功建立连接.");			return true;		} else {			System.err.println(tempCmd);			return false;		}	}	public static boolean disconectAdsl(String adslTitle) throws Exception {		String cutAdsl = "rasdial " + adslTitle + " /disconnect";		String result = executeCmd(cutAdsl);		if (result.indexOf("没有连接") != -1) {			System.err.println(adslTitle + "连接不存在!");			return false;		} else {			System.out.println("连接已断开");			return true;		}	}	public static void main(String[] args) throws Exception {		String adslTitle = "宽带连接";		String adslName  = "*************";		String adslPsw   = "******";				connAdsl(adslTitle, adslName, adslPsw);		Thread.sleep(1000);		disconectAdsl(adslTitle);		Thread.sleep(1000);		connAdsl(adslTitle, adslName, adslPsw);	// 再连,分配一个新的IP	}}

  

       

(转)JAVA实现Windows拨号