首页 > 编程语言 > 详细

(转)JAVA实现Windows拨号

时间:2014-10-24 01:41:12      阅读:366      评论:0      收藏:0      [点我收藏+]

原理:

       通过调用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拨号

原文:http://www.cnblogs.com/iRoad/p/4047276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!