`

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域名网络工具类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 调用shell命令

java使用dos命令创建文件夹

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

del命令和rd命令
  • 大小: 25.9 KB
  • 大小: 24.5 KB
  • 大小: 16.5 KB
分享到:
评论

相关推荐

    java中ping命令ping工具类(循环ping)

    java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...

    Java实现ping功能

    这个项目名为"Java实现ping功能",它利用Java编程语言,结合Spring Boot、Thymeleaf和Maven等技术,实现了类似操作系统内置ping命令的功能,并且增加了端口检测的特性。下面我们将详细探讨这一项目中的关键知识点。 ...

    用java实现ping的几种方式

    #### 方法一:纯Java实现ICMP的ping命令 在Java中,可以不依赖于操作系统提供的`ping`命令或任何其他外部工具,通过编程的方式直接发送ICMP包来实现`ping`功能。这种方法的优点在于可移植性和可控性更强,但需要对...

    java定时ping命令程序

    总结起来,Java定时ping命令程序的核心在于使用`Timer`和`TimerTask`或`ScheduledExecutorService`来定期执行ping操作。通过编写自定义的`PingTask`,我们可以定制ping操作的行为,如处理结果、调整超时时间等。这个...

    java工程 实现调用系统命令ping

    总结,Java调用系统命令“ping”涉及到对操作系统接口的使用,以及对输入/输出流的处理。在Spring框架下,我们可以通过依赖注入简化代码并提高可维护性。实践过程中需要注意处理可能的异常,并确保正确关闭所有打开...

    java实现的模拟ping功能

    - **执行Ping操作**:`doPingCmd`方法实现了核心的Ping功能,它使用操作系统自带的Ping命令并通过Java进程控制API来捕获命令的输出结果。 ```java public Integer doPingCmd(String destIp, int maxCount) { ...

    Java零基础 - ping命令.md

    1. **使用Java代码执行ping命令**:了解如何通过Java程序发起ping请求,并获取响应结果。 2. **解析ping命令的输出结果**:学会分析ping命令返回的信息,从中提取有用的数据。 3. **判断主机的网络连通性**:基于...

    在android 中调用ping命令 来获取网络通断

    ### 在Android中调用ping命令来获取网络通断 #### 概述 在移动应用开发过程中,特别是Android应用开发中,经常会遇到需要检测设备当前网络连接状态的需求。一种常见的做法是通过发送`ping`请求来判断设备是否能够...

    javaping.rar_JAVA ping_ping_ping(java)

    请注意,因为Java的网络编程限制,这种实现可能不如原生ping命令高效,而且在某些安全配置严格的环境中可能会遇到权限问题。不过,它为Java开发者提供了一种在应用中集成网络检测功能的途径。 总之,"javaping.rar...

    java模拟ping程序(内含java文件,报告任务书)

    首先,我们要知道ping命令的工作原理。ping通过发送ICMP回显请求报文到目标主机,然后等待目标主机返回ICMP回显应答报文,以此来判断网络连通性。在Java中,由于标准库不直接支持ICMP,因此我们需要使用Socket编程来...

    基于 Java 的Ping程序的设计和实现课程设计(课程报告+源码)

    第三种也是使用java调用控制台的ping命令,具体的思路是这样的:通过程序调用类似“ping 127.0.0.1 -n 10 -w 4”的命令,这命令会执行ping十次,如果通顺则会输出类似“来自127.0.0.1的回复: 字节=32 时间”的文本...

    Ping命令的自动实现

    - **编程语言**:可能使用Python、C#、Java等编程语言来编写,这些语言都提供了方便的套接字库来发送和接收ICMP数据包。 - **命令行接口**:软件可能有一个用户友好的界面,允许用户输入参数,如IP地址、间隔时间、...

    java_icmp_ping

    标题 "java_icmp_ping" 涉及到的是一个使用Java编程语言开发的项目,它实现了基于ICMP(Internet Control Message Protocol,互联网控制消息协议)的“ping”功能,类似于我们在Windows系统中使用的命令行工具“ping...

    window ping命令加时间并记录日志

    用操作系统的ping命令可以查看网络是否良好,但是如果想一直查看,记录日志是最好的选择。自带的不能记录日志,用shell脚本比较麻烦而且没有ping的时间记录,这个小工具或许能解决你的问题,自定义日志文件路径配置...

    用java实现ping功能

    在Java编程中,我们不能直接使用内置的库来实现ping功能,因为Java标准库并不包含这样的功能。但是,我们可以借助第三方库如jpcap(Java Packet Capture)来实现这个功能。 jpcap是一个Java库,它提供了对网络接口...

    Android 模拟Ping命令,获取ping包

    在Android系统中,由于安全性和权限管理的限制,与在桌面操作系统上直接使用`ping`命令不同,我们不能直接在Android应用中调用系统shell来执行`ping`命令。但是,我们可以利用Android提供的Socket编程接口来模拟实现...

    java 实现的 ping程序

    这样可以避免因Java对ICMP的支持不足而带来的问题,同时也能更好地模拟系统级ping命令的行为。 总的来说,理解Java实现ping程序涉及到的知识点包括:网络基础知识、ICMP协议、Java套接字编程、UDP数据包的封装与...

    ping:在Java中Linux中执行ping的服务器-客户端实现

    如果从终端运行,请确保目录并使用以下命令对其进行编译:服务器编译-> javac UDP_Server.java Server_Receive.java NextGaussian.java服务器运行-> java UDP_Server'port'//输入要在其上运行的端口您想打开不带...

Global site tag (gtag.js) - Google Analytics