Java调用ping命令

阅读更多
package cn.com.songjy;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Ping {

	public static void main(String[] args) throws IOException {
		System.out.println(ping("127.0.0.1", 1));
		System.out.println("************************************");
		System.out.println(ping("www.baidu.com", 35));
	}

	/**
	 * 
	 * @param target_name
	 *            IP地址或域名
	 * @param out_time
	 *            超时间隔,单位为毫秒
	 * @return
	 * @throws IOException
	 */
	public static boolean ping(String target_name, int out_time)
			throws IOException {

		Runtime runtime = Runtime.getRuntime();

		String ping_command = "ping " + target_name + " -w " + out_time;

		System.out.println("命令格式:" + ping_command);

		Process process = runtime.exec(ping_command);

		if (null == process)
			return false;

		BufferedReader bufferedReader = new BufferedReader(
				new InputStreamReader(process.getInputStream(), "GBK"));// windows下编码默认是GBK,Linux是UTF-8

		String line = null;

		while (null != (line = bufferedReader.readLine())) {

			System.out.println(line);

			if (line.startsWith("Reply from"))
				return true;
			if (line.startsWith("来自"))
				return true;
		}
		
		bufferedReader.close();

		return false;
	}

}
/* 这里只是简单检测是否能通,如果还需要更详细信息可查看ping命令的介绍 */


效果图如下:
Java调用ping命令_第1张图片

以下来自 java Ping域名网络工具类PingUtils.java源代码分享
package demo;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class PingUtils {

	public static Domain ping(String domian) {
		long start = System.currentTimeMillis();
		Domain result = new Domain();
		try {
			InetAddress address = InetAddress.getByName(domian);
			result.ip = address.getHostAddress();
			result.host = address.getHostName();
			long end = System.currentTimeMillis();
			result.time = (end - start);
		} catch (UnknownHostException e) {
			result.ip = "0.0.0.0";
			result.host = "UNKONW";
		}
		return result;
	}

	public static class Domain {
		String ip;
		String host;
		long time;

		@Override
		public String toString() {
			return String.format("host=%s, ip=%s, time=%s", host, ip, time);
		}
	}
	
	public static void main(String[] args) {
		Domain domain = ping("www.baidu.com");
		System.out.println(domain);
	}
}

效果如下:
Java调用ping命令_第2张图片

java 调用shell命令

java使用dos命令创建文件夹

JAVA执行bat文件和shell脚本文件

del命令和rd命令
Java调用ping命令_第3张图片
  • Java调用ping命令_第4张图片
  • 大小: 25.9 KB
  • Java调用ping命令_第5张图片
  • 大小: 24.5 KB
  • Java调用ping命令_第6张图片
  • 大小: 16.5 KB
  • 查看图片附件

你可能感兴趣的:(java,windows,linux,dos,ping)