码迷,mamicode.com
首页 > 编程语言 > 详细

(转)JAVA实现Windows拨号

时间:2014-10-24 01:43:54      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:blog   io   os   ar   java   sp   div   on   log   

原理:

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

标签:blog   io   os   ar   java   sp   div   on   log   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!