我正在尝试从已经编译和执行的Java代码执行C代码,但是,我没有从可执行文件中获得任何输出。任何人都可以帮我完成这项任务吗?
代码如下。
public class Test {
public static void main(String args[]) {
try {
Process processCompile = Runtime.getRuntime().exec("e:/Sample.exe");
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
答案 0 :(得分:5)
试试这个:
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(processCompile .getInputStream()));
// read the output from the command
System.out.println("EXE OUTPUT");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
答案 1 :(得分:0)
只有运行具有管理员权限的java程序时,此方法才有效。
如果您有权限,那么您可以尝试在“cmd”shell下运行您的进程(由您的java进程分叉)。一个实现这样做是在这里完成的“LinuxInteractor”(但在linux中)。只需稍微更改即可移植到Windows版本。
Finding hard and soft open file limits from within jvm in linux (ulimit -n and ulimit -Hn)