我为项目编写了一个小应用程序..它将执行以下任务:
当我运行此应用程序时,程序控制从步骤1开始并完全执行。在步骤2中,控件启动驱动批处理文件的进程。现在commands.bat文件需要一些时间才能完成(取决于源代码服务器的响应)。有时候这个批处理需要的时间比合理的时间多一点,控件没有等待并开始执行步骤3,这样我就不会在outfile.txt中获得完整的流。 我也使用过这样的东西:
请帮忙。
答案 0 :(得分:0)
这就是我等待批处理文件执行的方式。希望你现在已经解决了这个问题。但是,它可能有助于其他人看这个问题
// Any command you want to run in my case im executing a batch file
String cmd = "load_execute.bat";
//FILE_PATH is the directory where to starting from
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", cmd).redirectErrorStream(true);
builder.directory(new File(FILE_PATH));
Process process = builder.start();
//Redirect stream from cmd stream to local print stream
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
res = process.waitFor();`