0

我想等到我的批处理命令完成执行并创建一个 csv 文件作为输出。执行批处理文件的代码如下所示

String command = "cmd /c start " + batFile;
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec(command);

然后我想使用 CSV 文件(app.csv)来读取它的内容。但是当我运行该程序时,我越来越喜欢了。

java.io.FileNotFoundException: C:\appanalysis\app.csv (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at java.io.FileReader.<init>(FileReader.java:41)

如何解决这个问题

4

2 回答 2

1

试试pr.waitFor这个方法会返回退出码,除 0 以外的任何东西都会导致进程失败。

使用String command = "cmd /c start " + batFile;说明String command = "cmd /c " + batFile

于 2013-05-02T07:54:44.363 回答
0

Runtime.exec返回一个Process对象(pr在上面的示例中)。只需调用pr.waitFor()以等待进程退出。

于 2013-05-02T07:54:40.923 回答