java代码连接linux命令
java代码连接linux命令详细介绍
以下是一个通过 Java 执行 Linux 命令并获取输出的完整示例,包含异常处理和结果解析:
V1
功能说明:
- 完整工具类:包含可复用的
execute方法,支持任意 Linux 命令(通过命令数组传递) - 健壮性设计:
- 合并错误流和输出流(避免乱序)
- 独立线程读取流(防止缓冲区阻塞)
- 完善的异常处理
- 清晰的结果对象(包含退出码、输出内容、错误信息)
- 使用示例:java
javaVersion
findResult
- 输出处理:
- 标准输出和错误输出合并处理
- 按行收集输出内容(方便解析)
- 包含友好的 toString () 方法用于调试
注意事项:
- 需要 Java 8 + 环境
- 执行需要权限的命令(如
sudo)时,需确保 Java 程序有相应权限 - 建议对用户输入的命令参数进行安全校验,防止命令注入
- 大输出量时可通过
ProcessBuilder.redirectOutput()重定向到文件
该实现可以直接复制到 Java 项目中使用,主函数包含完整的测试用例,执行后会输出/tmp目录的列表信息。