0

我正在尝试从 Java 代码执行一些 Mac(Linux 的?)命令。我以这个简短的课程为例。我尝试阅读此论坛上的其他类似问题,但无法解决。

它给了我错误。

我试过:

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("/Users/xxxx/Documents/ABC");

访问被拒绝消息出现。下面的代码给出了错误。

This question Want to invoke a linux shell command from Java 已经谈到了类似的问题,但我认为他们并没有结束他们的辩论。

我正在使用 mac os 10.7。

public class Main {

    public static void main(String args[]) {

        try {

            Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","ls /Users/xyz/Documents/ABC"});

            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line=null;

            while((line=input.readLine()) != null) {
                System.out.println(line);
            }

            int exitVal = p.waitFor();
            System.out.println("Exited with error code "+exitVal);

        } catch(Exception e) {
            System.out.println(e.toString());
            e.printStackTrace();
        }
    }
}
4

1 回答 1

0

我使用了完整路径“/bin/bash”并使用了不同的目录,它工作得很好。所以代码几乎是正确的。您只需要注意路径、目录权限,并且可能想要使用完整路径。真的很感谢你们的支持。干杯

于 2012-07-28T00:33:43.197 回答