我目前正在使用Java开发一个小软件,而且我遇到了一个我无法解决的问题。简而言之,我在ArchLinux上,我需要运行" makepkg"在特定目录中。当然我试过
Runtime.getRuntime().exec("cd foo && makepkg");
但我发现我无法在目录中播放。有人知道如何做到这一点?不管怎样,谢谢
答案 0 :(得分:1)
进程执行程序不是shell。它是为启动流程而完成的。 可以帮助您的是从指定目录启动进程。
您可以创建ProcessBuilder实例并设置工作目录。 这是我的做法。
ProcessBuilder pb = new ProcessBuilder("makepkg");
pb.directory(new File("foo"));
final Process process = pb.start();
// then you read the flow with process.getInputStream() for example