百度
360搜索
搜狗搜索

java封装linux命令执行详细介绍

以下是一个封装 Linux 命令执行的 Java 工具类,包含完整的输入 / 输出流处理和异常封装:

V1

封装特点:

  1. 安全执行:使用 ProcessBuilder 替代 Runtime.exec (),支持命令参数数组
  2. 流处理:异步读取输出流,避免缓冲区阻塞(适用于大输出场景)
  3. 结果封装:包含退出码、标准输出、错误输出(错误流已合并到输出流)
  4. 异常处理:保留原始 IO 异常和中断异常
  5. 兼容性:支持 Linux/macOS 系统,Windows 需调整命令参数
  6. 示例用法:包含 main 方法演示基本使用

使用说明:

  1. 直接复制代码到 Java 项目中
  2. 调用方式:java
     result  

    result

  3. 结果判断:java
     result   

    outresult

    err result

注意事项:

  • 建议使用命令参数数组形式防止命令注入
  • 长时间运行的命令需添加超时控制(可通过 Process.destroyForcibly () 实现)
  • 对于需要交互的命令(如 sudo),需配合输入流处理
  • 生产环境建议添加日志记录和权限校验

这个封装可以直接用于需要执行系统命令的 Java 项目,支持快速迭代和功能扩展(如添加超时机制、环境变量配置等)。

阅读更多 >>>  Protel99SE如何画封装库

文章数据信息:

本文主要探讨:"java封装linux命令执行", 浏览人数已经达到25次, 首屏加载时间:1.380 秒。