java - 在 Mac 上用 Java 执行系统命令

标签 java macos terminal command

我希望能够从 Java 中在 Mac OSX 上运行系统命令。我的代码如下所示:

public void checkDisks() throws IOException, InterruptedException {
    Process p = Runtime.getRuntime().exec("df -h");
    int exitValue = p.waitFor();
    System.out.println("Process exitValue:" + exitValue);


    BufferedReader reader = new BufferedReader(new InputStreamReader(
                                                 p.getInputStream()));
    String line = reader.readLine();
    while (line != null) {
        line = reader.readLine();
    }
    System.out.println(line);
}

这总是返回 null 且 exitValue 为 0。以前从未在 Java 中这样做过,因此非常感谢任何想法或建议。

最佳答案

你的代码几乎没问题,你只是放错了 println

public void checkDisks() throws IOException, InterruptedException {
    Process p = Runtime.getRuntime().exec("df -h");
    int exitValue = p.waitFor();
    System.out.println("Process exitValue:" + exitValue);


    BufferedReader reader = new BufferedReader(new InputStreamReader(
                                                 p.getInputStream()));
    String line = reader.readLine();
    while (line != null) {
        line = reader.readLine();
        System.out.println(line);
    }
}

我相信这就是您想要实现的目标。

关于java - 在 Mac 上用 Java 执行系统命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19356712/

相关文章:

java - 使用Math.pow在java中对数字进行平方得到精度误差

java - 如何在 Java 中替换单个字符串中的多个单词?

python - 隐藏新 QApplication() 的 Python 启动器图标

excel - 有没有办法将 mac 终端输出直接保存到文件中?

c - 编译C代码的脚本

linux - 在 bash 中,如何仅在出现错误时显示命令的输出?

java - Twitter4J 创建返回到我的应用程序的回调 URL

java - 简单的 Web 应用程序 Tomcat 7.0.x 404 错误 Eclipse Kepler

c - 增加堆空间-Mac上C程序的应用程序空间?

java + eclipse + apple snow : missing javax. servlet.*