建一个简单的demo,加入如下彩色的部分即可 package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); System.out.println("ping测试"); System.out.println(".................."); ping("www.baidu.com"); ping("www.baidu.cn"); ping("www.baidu.org"); System.out.println(".................."); } /** * ping IP地址或域名 * @param ip 如:www.baidu.com * @return 是否通讯正常 */ public static boolean ping(String ip){ Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Process process = null; // 声明处理类对象 String line = null; // 返回行信息 InputStream is = null; // 输入流 InputStreamReader isr = null; // 字节流 BufferedReader br = null; boolean res = false; // 结果 try { process = runtime.exec("ping " + ip); // PING is = process.getInputStream(); // 实例化输入流 isr = new InputStreamReader(is,"gbk"); // 把输入流转换成字节流,传入参数为了解决"gbk"中文乱码问题 br = new BufferedReader(isr); // 从字节中读取文本 while ((line = br.readLine()) != null) { line = new String(line.getBytes("UTF-8"),"UTF-8"); if (line.contains("TTL")) { // 通了 res = true; System.out.println(line); break; } } is.close(); isr.close(); br.close(); if (res){ System.out.println("ping: " + ip + " 通.."); } else{ System.out.println("ping: " + ip + " 不通.."); } } catch (IOException e) { System.out.println(e); runtime.exit(1); } return res; } }
在cmd上执行以下命令
D:\java_projects\demo_ping\target>java -jar demo-0.0.1-SNAPSHOT.jar
运行效果