(转)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
	}
}

  

时间: 2024-11-04 11:35:36

(转)JAVA实现Windows拨号的相关文章

Java读写Windows共享文件夹 .

版权声明:本文为博主原创文章,未经博主允许不得转载. 项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片.文件等.那么如何使用Java读写Windows共享文件夹呢? Java可以使用JCIFS框架对Windows共享文件夹进行读写,就这个框架可以让我们像访问本地文件夹一下访问远程文件夹. JCIFS的网址: http://jcifs.samba.org/ JCIFS是使用纯Java开发的一个开源框架,通过smb协议访问远程文件夹.该框架同时支持Windows共享文件夹和Linux共享文

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附详细代码] 标签: SparkECLIPSEJAVAMAVENwindows 2016-06-18 22:35 405人阅读 评论(0) 收藏 举报  分类: spark(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 本文旨在记录初学Spark时,根据官网快速

Java调用Windows命令

Java调用Windows命令主要用到两个类: java.lang.Runtime 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.可以通过 getRuntime 方法获取当前运行时.应用程序不能创建自己的 Runtime 类实例. java.lang.Process ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息.Proce

并行计算大作业之多边形相交(OpenMP、MPI、Java、Windows)

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 吐槽: 话说,相当郁闷,2015年,第一次打开博客,准备总结一下这一年.. 结果博客被封了= =! 今天,终于解封了,换了密码,换了密保.... 但是,写回顾的激情有点退散了.. 明后两天要上课,明天还要验收一个综合设计大作业,再后两天要考试,再后两天继续上课,

Java JDK8 Windows XP安装与“无... RegDeleteKeyExA 于... ADVAPI32.dll”的解决

[jdk-8u5-windows-i586.exe] Java JDK8 Windows XP安装与"无... RegDeleteKeyExA 于... ADVAPI32.dll"的解决 在Java JDK8安装时,我的Windows XP报"无... RegDeleteKeyExA 于... ADVAPI32.dll"错,原来是对于Windows XP不再支持了,只能手动安装. http://blog.163.com/fan_ya/blog/static/1177

java查看windows的磁盘空间大小信息

原文:java查看windows的磁盘空间大小信息 代码下载地址:http://www.zuidaima.com/share/1550463266294784.htm 可以通过java的File对象得到磁盘的总空间大小,剩余空间大小,以及已用空间大小. package com.zuidaima.util.file; import java.io.File; public class FreeDiskSpace { public static void main(String[] args) {

java调用windows的wmi获取设备性能数据

java调用windows的wmi获取监控数据(100%纯java调用windows的wmi获取监控数据) 转:http://my.oschina.net/noahxiao/blog/73163 纯java主要体现在可以跨平台调用com.所用的是j-Interop,它是100%纯java实现的com的调用 1.环境准备 a.windows要开启Remote Registry与Windows Management Instrumentation服务 b.修改安全策略 我系统是英文的,如果是中文系统

【J2SE】java仿windows记事本

基于J2SE实现的一个记事本程序. 运行程序截图: 工程目录结构: 程序代码: package com.hblg; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.aw

Java 修改Windows注册表,以实现开机自启动应用程序。

使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg add 将新的子项或项添加到注册表中 语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f] 参数 KeyName 指定子项的完全路径.对于远程计算机,请在\\ComputerName\Pat