从java应用程序执行.exe文件

时间:2011-12-25 08:24:01

标签: java c exe

我写了一个C程序,只删除名为myFolder.txt的文件夹 我想从java应用程序执行.exe文件 所以,我使用了以下代码:

 try
 {
    Runtime rt = Runtime.getRuntime() ;
    Process p = rt.exec("program2.exe") ;
     p.destroy() ;
 }catch(Exception exc){/*handle exception*/
System.out.println("ERROR");
    }

当我运行我的java应用程序时,不会出现错误,但不会删除该文件。

为什么?

2 个答案:

答案 0 :(得分:6)

您已创建了一个流程,然后立即destroy编辑它。当然可执行文件不会运行。请尝试拨打.waitFor()(或者让它运行)。

答案 1 :(得分:2)

我认为program2.exe可能不在Java项目的类路径中。

try  {
    Runtime rt = Runtime.getRuntime() ;
    Process p = rt.exec("program2.exe") ; // @1
    //p.destroy() ; // @2
} catch (Exception exc) {
    /*handle exception*/
    System.out.println("ERROR");
}

@ 1 - 检查exe文件的路径。

@ 2 - 无需手动销毁该过程,它将在完成其过程后自动结束。

您可以检查进程是否已启动,运行Java项目 - 立即转到任务管理器 - 进程 - 如果有一个名为program2.exe的进程正在运行,则您的进程将启动,否则它将无法启动。如果没有启动,则没有例外 - 然后exe文件路径出现问题,请尝试提供exe文件的完整路径。