- public String ping(String ip) {
- try {
- String command = "ping "+ip;
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- ByteArrayOutputStream errorStream = new ByteArrayOutputStream();
- CommandLine commandline = CommandLine.parse(command);
- DefaultExecutor exec = new DefaultExecutor();
- exec.setExitValues(null);
- PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream,errorStream);
- exec.setStreamHandler(streamHandler);
- exec.execute(commandline);
- String out = outputStream.toString("gbk");
- String error = errorStream.toString("gbk");
- return out+error;
- } catch (Exception e) {
- log.error("ping task failed.",e);
- return e.toString();
- }
- }
- 浏览: 1591416 次
- 性别:
- 来自: 吉林
文章分类
- 全部博客 (624)
- C/C++ (33)
- Java (181)
- 网络相关 (7)
- 我爱篮球 (3)
- 也爱足球 (4)
- 杂谈 (1)
- 系统架构 (3)
- Web Service (14)
- Framework (3)
- 系统命令 (8)
- 管理平台相关 (8)
- 其它 (35)
- Websphere (1)
- Struts2 (24)
- Hibernate (16)
- Spring (23)
- javascript (20)
- jquery (23)
- html/css/div (28)
- 数据库 (40)
- JavaWeb (27)
- 设计模式 (2)
- 文档编写 (3)
- SVN (5)
- Ant (1)
- Maven (13)
- 软件项目管理 (8)
- AOP (1)
- kindeditor (1)
- JSON (2)
- Servlt/JSP (4)
- WordXML (2)
- XML (12)
- 面试相关 (7)
- Tomcat (11)
- 性能与调优 (29)
- 职业发展 (2)
- 操作系统 (7)
- AJAX (2)
- DWR (1)
- Eclipse (12)
- 持续集成 (3)
- 批处理命令 (1)
- Mozilla Rhino (2)
- 新鲜技术 (18)
- Apache mina (2)
- 底层技术 (18)
- Linux (22)
- 新鲜技术,IT历史 (1)
- 敏捷开发 (1)
- 版本控制 (5)
- 较火技术 (7)
- 集群 (2)
- Web前端 (13)
- 报表工具 (3)
- 网站架构 (5)
- 大数据 (8)
- 分布式存储 (5)
- 云计算 (8)
- TCP/IP协议 (1)
- 负载均衡 (3)
- 硬件 (1)
- 表现层技术 (3)
- Velocity (3)
- jvm (6)
- 并发编程 (10)
- hadoop (8)
- 数据结构和算法 (12)
- 计算机原理 (1)
- 测试驱动开发-TDD (3)
- 开发技巧 (1)
- 分词器 (1)
- 项目构建工具 (2)
- JMX (4)
- RMI (1)
- 测试技术 (22)
- 网络完全 (1)
- Git (4)
- apache开源包 (4)
- Java常用 (1)
- mock (2)
- OSGi (2)
- MongoDB (1)
- JBPM (1)
- Storm (3)
- mysql (2)
- telnet (1)
- 正则表达式 (1)
- bootstrap (4)
- Apache ActiveMQ (1)
- redis (9)
- Nginx (2)
- rsync+inotify文件同步 (2)
- testng (1)
- 原型设计工具 (1)
- 工程能力 (1)
- 风险控制 (3)
- ibatis (1)
- 分布式 (4)
- 安全技术 (1)
- 计算机基础 (4)
- 消息中间件 (1)
- UML (2)
最新评论
-
u012236967:
java命令执行jar包(里面的main函数)的方式(包括依赖其它的jar包问题) -
世界尽头没有你:
Selenium自动化测试从入门到精通(Java版)百度网盘地 ...
自动化测试工具 Selenium WebDriver 入门教程(针对主流浏览器) -
小小西芹菜:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
dwr实现Reverse Ajax推送技术的三种方式 -
hellozhouqiao:
楼主,请教一点问题.现在我们需要在excel 的页脚里面加上图 ...
FreeMaker + xml 导出word(处理目录,图片和页眉页脚问题) -
乱在长安:
使用Timer会有各种各样的问题好嘛?!书上推荐使用Sched ...
DelayQueue (ScheduledThreadPoolExecutor调度的实现)
发表评论
-
Java SE7新特性之二进制字面量
2016-12-14 22:53 831Java SE 7中, 整数类型(byte, shor ... -
浮点数为什么不精确?为什么银行的金额不能用浮点数计算
2016-12-14 22:52 2028浮点数为什么不精确? 其实这句话本身就不精确, 相对精确一 ... -
计算机是如何计算乘法除法的(实际上都是转换为二进制加法计算)
2016-12-14 22:46 6634http://blog.csdn.net/blues1021 ... -
什么是补码、反码、负数在计算中如何表示
2016-12-14 22:39 924负数在计算机中如何表 ... -
Math.abs()绝对值取到的数不一定是正数
2016-12-14 22:37 1271Math.abs() 注释:Note that if th ... -
用BigInteger实现大素数生成算法
2016-12-06 16:42 1875转自:http://www.cnblogs.co ... -
加密(AES)、公私钥(PKI)、摘要(DIGEST)、签名(SIGNATURE)、证书(CERT)的形象解释和组合用法
2016-09-15 18:19 94231.鲍勃有两把钥匙,一把是公钥,另一把是私钥。 ... -
RSA加密公私钥生成工具(openssl)
2016-09-15 13:00 1195https://www.openssl.org/source/ ... -
RPC原理详解
2016-06-23 20:47 582RPC 功能目标 RPC 的主要功能目标是让构建分布式计算 ... -
Java并发之CountDownLatch、CyclicBarrier和Semaphore
2016-06-23 20:36 1417这次说一下 JUC 中的同步器三个主要的成员:CountDo ... -
线程间协作的两种方式:wait、notify、notifyAll和Condition
2016-06-23 20:35 580在前面我们将了很多关于同步的问题,然而在现实中,需要线程之 ... -
The final local variable xxx cannot be assigned, since it is defined in an enclo
2016-04-24 17:42 1601本文就自己编程时候遇到的一个问题,简要描述一下,并提出解决 ... -
一个奇葩的excel中无法trim的“空格”的问题
2016-03-29 16:21 1944太奇怪了。打印出来的命名是空格,就是 trim() 不管用。 ... -
List深度复制
2016-02-17 09:34 2688昨天弄了一个类似List<Map<String, ... -
Eclipse导入 jar 源码乱码问题
2015-12-15 19:43 881http://blog.csdn.net/laiwenqian ... -
Java高并发编程的各种陷阱
2015-07-25 17:49 1009www.iteye.com/blogs/subjects/ja ... -
ASM介绍(java字节码操作利器)
2015-06-10 20:46 4371转自:http://www.ibm.com/de ... -
JDK 7 中的 Fork/Join 模式(并发处理)
2015-06-03 19:47 1015转自:http://www.ibm.com/dev ... -
Java常见内存溢出异常分析
2015-06-03 16:36 833转自:http://www.iteye.com/news/3 ... -
dom4j解析带有命名空间的xml
2015-04-09 21:23 5541Element rootEle = resultDoc.g ...
相关推荐
本文将结合实例形式详细介绍Java简单实现调用命令行并获取执行结果示例,包括如何使用Runtime.getRuntime().exec()方法执行ping命令、如何使用BufferedReader读取命令行执行结果、如何处理异常等。 命令行调用技术...
- `execute(cmdLine)`执行命令行并返回退出值。 ### 总结 以上三种方法各有优劣。`Runtime.exec()`简单但功能有限;`ProcessBuilder`提供了更多灵活性;而`commons-exec`则更适合复杂的进程管理场景。根据实际需求...
23. **Apache Commons Exec**:执行外部程序并管理其生命周期的工具。 24. **Apache Commons Lang3**:扩展了Java的标准库,提供了更多有用的工具类。 25. **Apache Commons Compress**:文件压缩和解压工具,支持...
Apache Commons Exec库提供了一个更高级的API,可以更方便地处理命令执行,如重定向输入、输出和错误流,处理复杂的命令行构造等。 8. **与Shell脚本结合** 有时,单个命令无法满足需求,这时可以编写Shell脚本,...
Apache Commons Exec 是一个用于执行外部进程的库,提供了更高级别的 API 来管理和控制外部进程。相比直接使用 `Runtime.exec()`,它能更好地处理输入/输出流,错误处理和进程生命周期管理。 4. **使用 Py4J**: ...
3. **调用解压方法**:在你的代码中,你需要实例化`RarUtil`类,并调用其提供的解压方法,传入RAR文件的路径和解压的目标目录。例如: ```java RarUtil rarUtil = new RarUtil(); rarUtil.unrar("path/to/rar/...
Apache Commons Pool 2是一个通用的对象池库,它为其他组件(如Jedis)提供了对象池化服务,有助于提高资源利用率和系统性能。commons-pool2-2.4.2.jar就是这个库的特定版本。在Jedis中,它可以用来管理Redis连接,...
此外,Java社区提供了第三方库如Apache Commons Exec,使得处理子进程的输出更加方便。 在调用Shell脚本时,特别要注意以下几点: 1. **管道和重定向**:确保正确处理管道和重定向,避免缓冲区溢出导致的死锁。 2....
在Java环境中与Redis进行交互时,通常会依赖一些客户端库,其中最常见的是Jedis和Apache Commons Pool 2。这两个组件在给定的压缩包文件中都有包含。 Jedis是Java语言的一个Redis客户端,它提供了丰富的API,使得...
在实际开发中,除了上述方法外,还可以利用第三方库如Apache Commons Exec或者Guava的`MoreExecutors`来更方便地执行命令和管理进程。 文件名 "四种单例模式的实现方法及其利弊 .txt" 虽然与Java执行本地脚本无关,...
1. **创建Transformer链**:`Transformer`是Apache Commons Lang库中的一个接口,用于转换对象。在这里,一系列`Transformer`被用来构建一个反射调用链。 2. **构造URLClassLoader**:首先,使用`...
`commons-pool-1.5.4.jar.zip`是Apache Commons Pool的旧版本,这是一个通用对象池库,用于创建和管理资源池。在与Redis通信时,由于频繁的连接和断开,直接创建和销毁连接会带来较大的性能开销。通过对象池,我们...
- **使用第三方库**:如 Apache Commons Exec 可以提供更强大的命令执行能力,适合更复杂的场景。 #### 总结 通过以上分析,我们了解了如何在 Java 程序中启动浏览器的基本原理和技术细节。这对于实现自动化测试、...
在Java编程环境中,修改浏览器默认主页是一个涉及到操作系统交互和进程控制的任务。...同时,也可以参考其他开源项目或库,如Apache Commons Exec,它提供了更高级别的API来处理进程执行,能简化上述过程。
另一个提及的库是Apache Commons Pool2-2.2.jar,这是一个对象池服务,主要用于管理对象的创建和复用,以提高性能。在Jedis中,它被用来实现连接池功能,允许开发者高效地管理和重用Redis连接,避免频繁创建和销毁...
在执行远程命令方面,Java程序可以通过ChannelSftp的exec()方法调用SSH服务器上的命令行工具执行命令。这一方法简洁有效,能够让Java程序直接与Linux服务器上的命令行接口交互。 文件的上传和下载是远程操作的另一...
然后,可以创建Jedis实例,通过实例调用相关方法进行数据操作。例如: ```java Jedis jedis = new Jedis("localhost", 6379); jedis.set("key", "value"); String value = jedis.get("key"); ``` 对于大量并发请求...
在Java中,通常会用到Apache Commons HttpClient库来发起HTTP请求,调用短信API接口。首先需要在代码中引入相关的库文件,并创建HttpClient实例。通过创建HttpPost对象并设置相关参数(比如手机号、短信内容、API...
Jedis提供了与Apache Commons Pool2集成的连接池功能。在项目中,我们需要引入`commons-pool2-2.5.0.jar`作为依赖。 - **初始化连接池**:创建`JedisPoolConfig`配置对象,设置最大空闲连接、最大连接数等参数,...