使用Java代码实现对宽带的连接
对于多个类似的用户名相同的密码,运行java代码实现对宽带的自动连接
这是源代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* 联网神器
* Process 进程类
* 本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,
* 或者 shell 脚本。
*
* Runtime 每个 Java 应用程序都有一个 Runtime 类实例,
* 使应用程序能够与其运行的环境相连接。
* 可以通过 getRuntime 方法获取当前运行时。
* @author Dante Fung
*
*/
public class NetConnector
{
public void connect(int no)
{
// 查看ip
// String[] cmd = {"cmd.exe","/C","ipconfig"};
// String cmd = "cmd.exe /C ipconfig";
// 拨号联网
// String[] cmd = {"cmd.exe","/C","rasdial 宽带连接 "};
String cmd = "cmd.exe /c rasdial 宽带连接 lixueyuan0" + no + " 123456";
int exitValue = createProcess(cmd);
if( exitValue == 0)
{
System.out.println("拨号成功!!");
}
else
{
System.err.println("exit value=" + exitValue);
}
}
public int createProcess(String cmd)
{
Process process = null;
try
{
// 创建一个本机进程
process = Runtime.getRuntime().exec(cmd);
}
catch (IOException e)
{
e.printStackTrace();
throw new RuntimeException(e);
}
// 获取子进程的输入流 :实现注意事项:对输入流进行缓冲是一个好主意。
InputStream in = process.getInputStream();
// 字节字符转换流
InputStreamReader isr = new InputStreamReader(in);
// 增加字符缓冲能力
BufferedReader br = new BufferedReader(isr);
String line;
try
{
while((line = br.readLine()) != null)
{
System.out.println(line);
}
// 0 表示正常终止
int exitValue = process.waitFor();
System.out.println(exitValue);
return exitValue;
}
catch (Exception e)
{
e.printStackTrace();
throw new RuntimeException(e);
}
finally
{
// 关闭资源
try
{
br.close();
process.getOutputStream().close();
in.close();
isr.close();
}
catch (IOException e)
{
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public boolean ping()
{
Process process = null;
// ping
String ping = "cmd.exe /c ping www.baidu.com -n 1";
// 断开网络连接
String disconn = "cmd.exe /c rasdial /DISCONNECT";
int exitValue = createProcess(ping);
if(exitValue == 0)
{
System.out.println("联网成功!!");
return true;
}
else
{
System.err.println("联网失败!正在断开连接...");
int exitCode = createProcess(disconn);
if(exitCode == 0)
{
System.out.println("断开连接成功!!");
}
return false;
}
}
public static void main(String[] args)
{
NetConnector connector = new NetConnector();
for(int i = 10; i < 61; i ++)
{
connector.connect(i);
if(connector.ping())
{
break;
}
System.out.println("正在重新尝试连接...");
System.out.println("==========第" + i + "次 拨号连接===========");
}
}
}
使用Java代码实现对宽带的连接的更多相关文章
- mongodb3.0分片及java代码连接操作测试(开启用户验证)
最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一 ...
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行 JDK 1.6 命令 "java -j ...
- zookeeper - 通过java代码连接zookeeper(2)
首先创建一个Maven项目 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- 第3节 sqoop:7、通过java代码远程连接linux执行shell命令
数据库的数据同步软件sqoop 数据同步 关系型数据库到大数据平台 任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步 实时的数据同步工具: canal 阿里开源的一个数据库数据实时同步的软 ...
- JNDI实现服务器(tomcat)与数据库(mysql)连接的数据源配置以及获取连接的java代码
->首先将mysql的jar包导入到tomcat/lib文件夹下 ->然后在tomcat/conf/context.xml文件中配置以下内容 <Resource name=" ...
- mysql数据库的连接以及增删改查Java代码实现(转载)
每天叫醒自己的不是闹钟,而是梦想 数据库: create table t1(id int primary key not null auto_increment,name varchar(32),pa ...
- 远程debug调试java代码
远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...
- 几种简单的负载均衡算法及其Java代码实现
什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技 ...
- kettle 使用JAVA代码进行执行
kettle 设计完成之后,可以在设计工具中进行调用,也可以使用java代码进行调用. 1.通过文件方式执行转换. public static void runTransfer(String[ ...
随机推荐
- Android 常用布局视图
常用包 http://square.github.io/ EventBus Scroller 滚动 拖拽 # android.support.design.widget.CollapsingToolb ...
- SQLite3中自增主键归零方法
当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表.这个表包含两个列:name和seq.name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当 ...
- 使用COALESCE时注意left join为null的情况
1.使用COALESCE时,用到group by with cube,如果之前两个表left join时,有数据为null,就会使得查出的数据主键不唯一 例如: select COALESCE (c. ...
- Vertica并发DML操作性能瓶颈的产生与优化(转)
文章来源:中国联通网研院网优网管部IT技术研究团队 作者:陆昕 1. 引言 众所周知,MPP数据库以其分布式的超大存储能力以及列式的高速汇总能力,已经成为大数据分析比不可少的工具.Vertica就是这 ...
- eclipse启动报错java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' befo
报错: java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invo ...
- Redis一个异常的解决办法,异常描述:Could not get a resource from the pool
异常描述: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poo ...
- Fragment:关于Avoid non-default constructors in fragments的错误
在android开发中,写了一个关于继承Fragment的类时,如果有重载构造函数时,会提示“Avoid non-default constructors in fragments: use a de ...
- Node.js 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
- .Net Core 跨平台系列之环境部署
前言 作为一名.NET程序员,很多时候都会被什么拖控件.跨平台等字眼所鄙视过,但是在我的的内心还是没有把自己看低过.因为说到底,平台和语言只是我们吃饭的工具.很多时候公司的发展是取决于商业竞争的,微软 ...
- RP4412开发板在Android系统编译生成ramdisk-uboot.img
荣品RP4412开发板在android系统编译的时候,怎么生成ramdisk-uboot.img生成流程分析: mkimage -A arm -O linux -T ramdisk -C none - ...