Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过java运行终端命令_Java_Linux_Terminal_Command - Fatal编程技术网

通过java运行终端命令

通过java运行终端命令,java,linux,terminal,command,Java,Linux,Terminal,Command,我必须从java程序在终端中执行两个命令。下面是我正在使用的java代码: import java.io.BufferedReader; import java.io.InputStreamReader; public class Runterminal { public static void main(String[] args) { Process proc; Process procRun; String compileCommand = "aarch64-linux-g

我必须从java程序在终端中执行两个命令。下面是我正在使用的java代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Runterminal {

public static void main(String[] args) {

Process proc;
Process procRun; 
    String compileCommand = "aarch64-linux-g++ -std=c++14 hello.cpp";
    String runCommand = "aarch64-linux-objdump -d a.out";
try{

     proc = Runtime.getRuntime().exec(compileCommand);
 procRun = Runtime.getRuntime().exec(runCommand);
 // Read the output

    BufferedReader reader =  
          new BufferedReader(new InputStreamReader(proc.getInputStream()));

    String line = "";
    while((line = reader.readLine()) != null) {
        System.out.print(line + "\n");
    }

    proc.waitFor();   

BufferedReader readero =  
          new BufferedReader(new InputStreamReader(procRun.getInputStream()));

    String lineo = "";
    while((lineo = readero.readLine()) != null) {
        System.out.print(lineo + "\n");
    }

    procRun.waitFor();   
}
catch(Exception e)
{
  System.out.println("Exception occurred "+e);
    }

  }
} 
我的
hello.cpp
文件存储在主目录中。当我编译java程序时,它会被编译,但在运行它时,它会抛出异常。下面是我得到的输出:

Exception occurred java.io.IOException: Cannot run program "aarch64-
linux-g++": error=2, No such file or directory

尝试在代码中使用以下行替换

String compileCommand = "g++ -std=c++14 hello.cpp";
String runCommand = "./a.out";

并将
.cpp
文件保存在
.class
文件所在的同一目录中。

hello.cpp
存储在.class文件所在的同一目录中。这解决了异常,但我无法看到输出。是否有什么我应该做的不同,因为第二个命令应该在终端中生成输出。