`

Java cmd判断本地网络状态及强度

    博客分类:
  • JAVA
阅读更多
package com.anxin.ssk.util;

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

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.anxin.ssk.common.Config;

public class CommandUtil {

	private static Logger log = LoggerFactory.getLogger(CommandUtil.class);

	/**
	 * 执行cmd命令
	 * 
	 * @param command
	 * @throws IOException
	 */
	public static String executeCmd(String command) throws IOException {
		log.info("Execute command : " + command);
		Runtime runtime = Runtime.getRuntime();
		Process process = runtime.exec("cmd /c " + command);
		BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
		String line = null;
		StringBuilder build = new StringBuilder();
		while ((line = br.readLine()) != null) {
			log.info(line);
			build.append(line);
		}
		return build.toString();
	}

	/**
	 * 检测信号强度
	 * 
	 * @param command
	 * @throws IOException
	 */
	public static String checkSignalStrength() throws IOException {
		log.info("开始检测信号强度");
		String result = "未知";
		String cmdLines = executeCmd("ping " + Config.Http.SIGNAL_STRENGTH_URL);
		if (StringUtils.isNotEmpty(cmdLines)) {
			int lost = 0;
			int average = 0;

			if (cmdLines.indexOf("Packets:") >= 0) {
				lost = Integer.parseInt(cmdLines.substring(cmdLines.indexOf("Lost = ") + 7, cmdLines.lastIndexOf(" (")));
			}
			if (cmdLines.indexOf("Minimum = ") >= 0) {
				average = Integer.parseInt(cmdLines.substring(cmdLines.indexOf("Average = ") + 10, cmdLines.lastIndexOf("ms")));
			}

			log.info("丢包数:" + lost + ",平均时间:" + average + "ms!!!!!!!!");
			// 信号不好(有丢包现象)
			if (lost > 0) {
				result = "弱";
				log.info("信号不好(有丢包现象)");
			} else {
				// 没有网络
				if (average == 0) {
					result = "无";
					log.info("没有网络");

					// 信号正常(没有丢包现象)
				} else if (average > 0 && average <= 75) {
					result = "强";
					log.info("信号正常");
				} else if (average > 75 && average <= 150) {
					result = "中";
					log.info("信号比较弱");
				} else {
					result = "弱";
					log.info("信号不好");
				}
			}
		}

		return result;
	}

}

 

分享到:
评论

相关推荐

    java实现cmd命令

    用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果

    javacmd数据库备份

    "javacmd数据库备份"这个主题聚焦于使用Java命令行工具(javacmd)进行数据库的备份操作。Java命令行工具通常指的是通过Java虚拟机(JVM)运行的程序,这些程序可以执行特定的任务,比如与数据库交互。下面我们将...

    Java程序执行CMD命令代码实现

    Java程序是如何执行CMD命令的,就是需要RunTime、Process类而已。 具体代码在文档中

    java 以管理员身份调用cmd 需要用到的文件

    此外,Java 1.6及更高版本引入了`java.awt.Desktop`类,它提供了以管理员权限打开外部应用(包括CMD)的功能,但不直接支持命令行参数。如果仅需要打开一个CMD窗口而无需执行特定命令,`Desktop`类可能是更安全的...

    java中调用本地exe文件

    在Java编程语言中,有时我们需要实现与操作系统交互的功能,例如执行一些特定的本地应用程序或脚本等。本文将详细介绍如何在Java中调用本地exe文件,并解析提供的代码示例。 ### 一、Java中调用本地exe文件的基本...

    Java_CMD.rar_java cmd

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如文件操作、网络通信等。这时,我们可以利用Java的`Runtime`类或`ProcessBuilder`类来调用CMD(命令提示符)命令。本文将详细讲解如何在...

    java调用cmd创建定时任务

    java语言通过cmd命令在远程电脑上创建定时任务,从而达到控制远程开启或者关闭自己想要处理的应用程序,而不用亲临。很简单,由于win10系统的安全性,使用邮箱在线注册过的win10估计是不行的,自己试吧。

    java模拟cmd控制台 java教学小程序

    3. **文件和目录操作**:模拟CMD的文件及目录操作,如`cd`(改变当前目录)、`ls`(列出目录内容),需要对Java的`File`类有深入理解,包括`exists()`, `isDirectory()`, `listFiles()`等方法。 4. **系统调用**:...

    java执行cmd命令并返回运行结果

    使用方法: (1)导入Command.jar工具包 (2)Command.exeCmd&#40;"cmd命令"&#41;//该方法返回String

    java执行cmd命令

    import java.io.*; /** * &lt;p&gt;Title: 执行CMD命令 * * &lt;p&gt;Copyright: Copyright (c) 2010 *

    java 调用 windows cmd 命令

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如调用Windows的命令行工具(CMD)。这通常涉及到使用Java的Runtime类或者ProcessBuilder类来创建和管理进程。本文将深入探讨如何在Java...

    java调用cmd创建目录和复制文件

    在Java编程中,有时我们需要执行一些系统级别的操作,如创建目录、复制文件等,这些操作在Windows系统中可以通过命令行接口(CMD)来完成。Java提供了Runtime类和ProcessBuilder类来实现这样的功能,允许我们调用...

    Java调用相应cmd命令的实例

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如运行命令行(CMD)命令。本文将深入探讨如何在Java中调用相应的CMD命令,通过实例来帮助理解这一过程。 首先,Java提供了`Runtime`类...

    java socket线程cmd命令执行结合,可仿木马程序

    1、新建java项目; 2、把解压后的5个java类复制进去,修改包路径 3、先运行服务器类MJServer.java,再运行客户端类MyClient.java 4、提示连接成功后,在服务类的控制台输入cmd命令,例如ping 127.0.0.1 5、控制台可以...

    Java cmd命令行模拟工具

    Java cmd命令行模拟工具是一种用于在Java环境中模拟操作系统命令行工具的实用程序。它使得开发者能够在Java代码中执行系统命令,获取命令输出,并对命令行交互进行控制,这对于自动化测试、脚本编写以及需要与系统...

    给cmd穿曾java外衣

    标题"给cmd穿曾java外衣"就描述了这样的一个实践,即使用Java来创建一个GUI,然后在这个界面上间接调用CMD命令,使得用户可以更方便地执行系统级别的操作,同时享受到GUI带来的便利性。 Java是一种跨平台的编程语言...

    在cmd窗口运行需要加载含驱动的java程序

    在cmd窗口运行需要加载含驱动的java程序 在cmd窗口运行需要加载含驱动的java程序是一种常见的操作,对于java开发者来说,这是一种必备的技能。为了实现这个操作,需要具备一定的java基础知识和cmd命令的使用技巧。 ...

    java 执行cmd命令及mongodb脚本

    Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...

    java窗体嵌入cmd窗口所需jar包

    java窗体嵌入cmd窗口所需jar包 源代码地址:http://blog.csdn.net/lyyybz/article/details/34107789

    网络命令 cmd 命令

    netstat命令用于查看本地机器的网络状态,包括所有开放端口、网络服务、路由信息等,对于发现和预防木马、了解机器服务非常有用。 **关键参数:** - **-a**:查看所有开放端口。 - **-r**:列出当前的路由信息,...

Global site tag (gtag.js) - Google Analytics