本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。
Java 代码调用 Windows 操作系统 cmd.exe
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.junit.Test;
public class CmdTest {
@Test
public void testExecCmd() throws IOException {
BufferedReader bufferedReader = null;
try {
Process process = Runtime.getRuntime().exec("ping www.qq.com");
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "GBK");
bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} finally {
if (bufferedReader != null) {
bufferedReader.close();
}
}
}
}
运行结果:
正在 Ping www.qq.com [182.140.167.44] 具有 32 字节的数据:
来自 182.140.167.44 的回复: 字节=32 时间=5ms TTL=55
来自 182.140.167.44 的回复: 字节=32 时间=5ms TTL=55
来自 182.140.167.44 的回复: 字节=32 时间=6ms TTL=55
来自 182.140.167.44 的回复: 字节=32 时间=5ms TTL=55
182.140.167.44 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 5ms,最长 = 6ms,平均 = 5ms