0
我有要求在终端中使用java执行命令。我真的坚持以编程方式通过java代码访问mac的终端窗口。如果您提供有价值的解决方案来执行我过去两天一直在努力完成的任务,这将非常有用。我也发布了一段代码,我正在尝试做的参考。任何形式的帮助将是对我以编程方式在java中执行终端中的命令
public class TerminalScript
{
public static void main(String args[]){
try {
Process proc = Runtime.getRuntime().exec("/Users/xxxx/Desktop/NewFolder/keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000");
BufferedReader read = new BufferedReader(new InputStreamReader(
proc.getInputStream()));
try {
proc.waitFor();
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
while (read.ready()) {
System.out.println(read.readLine());
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
注有帮助:我有过java程序在终端运行命令keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000
。
你能告诉你有什么问题吗? –
当您等待它退出时,该进程可能正在等待您读取其输出。这是一个僵局。 –
'keytool'是我相信java内部密钥管理API的cli接口。您可以直接使用这些API,因为您已经在编写Java代码了吗? –