gpt4 book ai didi

java - 从java程序内部执行linux命令

转载 作者:行者123 更新时间:2023-12-01 15:28:09 25 4
gpt4 key购买 nike

我正在尝试使用 java swing 创建 GUI。从那里我必须运行 Linux 系统命令。我尝试使用 exec()。但如果字符串包含单引号,exec() 函数将无法解析该字符串。我使用的代码如下-

Process p = Runtime.getRuntime().exec("cpabe-enc pub_key message.txt '( it_department or ( marketing and manager ) )'")
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));

但是当我运行程序时出现错误 - "'(" 出现语法错误。

当我写入时运行相同的命令

Process p = Runtime.getRuntime().exec("cpabe-enc pub_key message.txt default")

请帮忙。预先感谢您的帮助。

最佳答案

将参数拆分为一个数组,每个参数一个字符串,并使用以 String[] 为参数的 exec-method,这通常对于参数来说效果更好。大致如下:

Runtime.getRuntime().exec(new String[] {"cpabe-enc", "pub_key", "message.txt", "( it_department or ( marketing and manager ) )"});

或者无论你的确切参数是什么。

关于java - 从java程序内部执行linux命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9920675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com