我一直在尝试运行一个可执行文件并等待它完成运行,并且它处于循环中,因此它运行多次。我只是无法让它运行并等待。我尝试向我的程序以及堆栈跟踪添加缓冲区。
我想要运行的文件是我的 C 驱动器中的可执行文件,正如您在下面的代码中看到的那样。可执行文件从另一个文本文件获取输入,这就是我在运行可执行文件之前要修改的内容。该文本文件包含 100 多种化学物质和通过可执行文件运行的 1000 多个 react 。我想做的是用可执行文件生成的输出修改输入。有趣的是,可执行文件输出到同一个文件。
这只是为了提供有关可执行文件功能的一些背景知识。这就是为什么我将其放在循环中,因为我在不到一秒的时间内运行这些 react ,我将抓取输出并将它们放入另一个文本文件中以供以后的数据分析。但目前看来,我尝试获取可执行文件的所有方法和代码都不起作用,甚至可能是因为 waitFor 函数。老实说,我不知道还能做什么,也不知道如何更具体地解决我的问题。我是一名 Java 新手,需要一些指导来帮助我进一步进步。
while(finalTime < 1.0){
try{
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:file",
null, new File("C:file"));
int exitVal = pr.waitFor();
System.out.println("Exited with error code "+exitVal + "intital:" + initialTime + ", finalTime:" + finalTime);
pr.destroy() ;
}catch(IOException | InterruptedException pr){
pr.printStackTrace()
}
initialTime+= 0.10;
finalTime+=0.10;
updateTime();
}
有什么建议吗?
最佳答案
关于java - 运行外部可执行文件 (.exe) 并等待其完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394330/