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语言实现windows dos的调用,通过输入dos命令,执行相应的结果
"javacmd数据库备份"这个主题聚焦于使用Java命令行工具(javacmd)进行数据库的备份操作。Java命令行工具通常指的是通过Java虚拟机(JVM)运行的程序,这些程序可以执行特定的任务,比如与数据库交互。下面我们将...
Java程序是如何执行CMD命令的,就是需要RunTime、Process类而已。 具体代码在文档中
此外,Java 1.6及更高版本引入了`java.awt.Desktop`类,它提供了以管理员权限打开外部应用(包括CMD)的功能,但不直接支持命令行参数。如果仅需要打开一个CMD窗口而无需执行特定命令,`Desktop`类可能是更安全的...
在Java编程语言中,有时我们需要实现与操作系统交互的功能,例如执行一些特定的本地应用程序或脚本等。本文将详细介绍如何在Java中调用本地exe文件,并解析提供的代码示例。 ### 一、Java中调用本地exe文件的基本...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如文件操作、网络通信等。这时,我们可以利用Java的`Runtime`类或`ProcessBuilder`类来调用CMD(命令提示符)命令。本文将详细讲解如何在...
java语言通过cmd命令在远程电脑上创建定时任务,从而达到控制远程开启或者关闭自己想要处理的应用程序,而不用亲临。很简单,由于win10系统的安全性,使用邮箱在线注册过的win10估计是不行的,自己试吧。
3. **文件和目录操作**:模拟CMD的文件及目录操作,如`cd`(改变当前目录)、`ls`(列出目录内容),需要对Java的`File`类有深入理解,包括`exists()`, `isDirectory()`, `listFiles()`等方法。 4. **系统调用**:...
使用方法: (1)导入Command.jar工具包 (2)Command.exeCmd("cmd命令")//该方法返回String
import java.io.*; /** * <p>Title: 执行CMD命令 * * <p>Copyright: Copyright (c) 2010 *
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如调用Windows的命令行工具(CMD)。这通常涉及到使用Java的Runtime类或者ProcessBuilder类来创建和管理进程。本文将深入探讨如何在Java...
在Java编程中,有时我们需要执行一些系统级别的操作,如创建目录、复制文件等,这些操作在Windows系统中可以通过命令行接口(CMD)来完成。Java提供了Runtime类和ProcessBuilder类来实现这样的功能,允许我们调用...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如运行命令行(CMD)命令。本文将深入探讨如何在Java中调用相应的CMD命令,通过实例来帮助理解这一过程。 首先,Java提供了`Runtime`类...
1、新建java项目; 2、把解压后的5个java类复制进去,修改包路径 3、先运行服务器类MJServer.java,再运行客户端类MyClient.java 4、提示连接成功后,在服务类的控制台输入cmd命令,例如ping 127.0.0.1 5、控制台可以...
Java cmd命令行模拟工具是一种用于在Java环境中模拟操作系统命令行工具的实用程序。它使得开发者能够在Java代码中执行系统命令,获取命令输出,并对命令行交互进行控制,这对于自动化测试、脚本编写以及需要与系统...
标题"给cmd穿曾java外衣"就描述了这样的一个实践,即使用Java来创建一个GUI,然后在这个界面上间接调用CMD命令,使得用户可以更方便地执行系统级别的操作,同时享受到GUI带来的便利性。 Java是一种跨平台的编程语言...
在cmd窗口运行需要加载含驱动的java程序 在cmd窗口运行需要加载含驱动的java程序是一种常见的操作,对于java开发者来说,这是一种必备的技能。为了实现这个操作,需要具备一定的java基础知识和cmd命令的使用技巧。 ...
Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...
java窗体嵌入cmd窗口所需jar包 源代码地址:http://blog.csdn.net/lyyybz/article/details/34107789
netstat命令用于查看本地机器的网络状态,包括所有开放端口、网络服务、路由信息等,对于发现和预防木马、了解机器服务非常有用。 **关键参数:** - **-a**:查看所有开放端口。 - **-r**:列出当前的路由信息,...