代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;public class TracertUtil { String tracert = "tracert -d";  // 模拟tracert命令List<String> list = new ArrayList();/*** tracert命令运行并输出结果* @param ip*/public void Tracert(String ip, String maxnum, String overtime) {// 最大跃点数if (!"".equals(maxnum)) {tracert = tracert + " -h " + maxnum;}// 超时时间if (!"".equals(overtime)) {tracert = tracert + " -w " + maxnum;}tracert = tracert + " " + ip;System.out.println("执行的命令:" + tracert);try {command(tracert);    // 执行tracert命令list.remove(0);       // 删除结果中的第一行空行// 输出结果for (String s:list) {System.out.println(s);}} catch (IOException exception) {exception.printStackTrace();}}/*** 执行 tracert 命令 * @param tracerCommand* @return* @throws IOException*/private void command(String tracerCommand) throws IOException{ // 通过Runtime类的getRuntime().exec()传入需要运行的命令参数Process process = Runtime.getRuntime().exec(tracerCommand);// 读取命令执行结果readResult(process.getInputStream());process.destroy();}/*** 通过输入流来将命令执行结果赋值给list* @param inputStream* @return* @throws IOException*/private void readResult(InputStream inputStream) throws IOException{String commandInfo = null;       // 定义用于接收命令行执行结果的字符串BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));while ( (commandInfo = bufferedReader.readLine()) != null)  {list.add(commandInfo);   // 将运行结果添加到 list 中}bufferedReader.close();}public static void main(String[] args) {TracertUtil util = new TracertUtil();util.Tracert("baidu.com", "10", "10");}
}

运行截图:

用java实现tracert命令相关推荐

  1. java linux tracert_Linux系统中tracert命令使用详解

    Linux系统中Tracert命令用来显示数据包到达目标主机是所经过的路径.下面由学习啦小编为大家整理了linux系统中tracert命令使用详解,希望对大家有帮助! Linux系统中tracert命 ...

  2. java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?

    写好一个java程序之后,我们的最终目的就是可以正确的运行程序,如果程序运行正确了,那么代码也就没有什么问题了,可是java如何运行步骤cmd?接下来,我们就来给大家讲解一下这方面的内容. 1.首先用 ...

  3. java rtmp_搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)...

    一.环境搭建 1.安装ffmpeg 下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windows版本(各平台ffmpeg命令都是一样的,无须纠结) 2.ffmpeg的 ...

  4. JAVA 和JAVAC命令行

    JAVA和JAVAC 命令行 javac和java命令行中的-classpath选项 这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点. java ...

  5. java执行cmd命令,返回结果中文乱码问题解决

    java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...

  6. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  7. 命令提示符(cmd)中的tracert命令使用

    转载自:https://jingyan.baidu.com/article/9c69d48f4df25713c8024e66.html 在命令行中输入"tracert "并在后面加 ...

  8. windows tracert 命令 查看路由表

    1:作用 tracert 是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟.(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类--传播延迟 ...

  9. java 执行外部命令 苹果_Java中执行外部命令

    在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令.linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下. java执行外部命令主要依赖两个类 ...

最新文章

  1. 微软职位内部推荐-SDEII
  2. AI一分钟 | 小米发布小爱音箱mini,169元;天猫汽车无人贩卖机大楼落地,刷脸可购车试驾
  3. 计算机组成原理ALU加法器
  4. 表贴光电池 FU-NJL6402R-2 的特性
  5. Android用户界面设计学习之旅-第三站
  6. ST17H26尽量避免switch语句
  7. 团队作业5——测试与发布(Alpha版本)
  8. SSM-springMvc配置文件
  9. 深度评测丨GaussDB(for Redis)大Key操作的影响
  10. 在react里写原生js_从零开始使用react+antd搭建项目
  11. android selector 中的选中、点击、获得焦点的区别
  12. Bailian3719 学生信息用qsort排序【排序+字符串库函数】
  13. EntityFramework 7 Linq Contains In 奇怪问题(已修复)
  14. 电子设计竞赛技术报告格式
  15. win10 安装redis 解压版
  16. 对角化求可逆矩阵_矩阵对角化方法
  17. 微信小程序之实现下拉刷新效果
  18. JAVA之MySQL数据库增删改查【Java入门练手】
  19. Roguelike随机地下城 | 二、设置门和优化最终房间的选择
  20. 微信H5保存或下载视频到本地,将视频直接分享视频给好友

热门文章

  1. Android adt 更新
  2. 怎么给当前计算机添加一个用户,如何在win7中添加新账户 2种创建win7新用户方法总结...
  3. 耳下长包图片_耳朵后面长了个包,是什么?
  4. 【电气专业知识问答】问:电流互感器的暂态特性分为几类?适用于何种工作情况?
  5. 7-4 网红点打卡攻略(简洁AC)
  6. cad2014卡顿的解决方法_CAD卡顿怎么办?手把手教你CAD卡顿如何自救!
  7. 长短经序言(之二)》:智者善谋,不如当时
  8. 医药机械设备远程监控及故障预警诊断系统
  9. 属牛男宝宝取名:一听就是学霸的男孩名字
  10. OpenStack 创建虚拟机错误:Exceeded maximum number of retries. Exhausted all hosts available for retrying bui