java - 调用批处理文件Java程序

标签 java batch-file functional-programming

我正在尝试从 Java 函数调用 bat 文件。看起来我调用 bat 文件的方式有问题。该方法不会调用批处理文件。任何帮助将不胜感激。

private static void Run_Main() throws InterruptedException, SQLException, IOException {
    int set_value=0;
    while ((set_value=Find_Flag()) !=0){
        System.out.println("Set_Value"+set_value);  
        System.out.println("Staging load is not completed ..Revisiting after 15 minutes....");
        Thread.sleep(900000);
        set_value=Find_Flag();
    }
    System.out.println("Staging load is Completed and launching Proudction Load now");
    //Runtime.getRuntime().exec(new String[] { "cmd.exe", "/c", "C:/exec/DW_Init_Load.bat" } );
    String filePath = "C:/exec/DW_Init_Load.bat";
    try {

        Process p = Runtime.getRuntime().exec(filePath);

    } catch (Exception e) {
        e.printStackTrace();
    }


    System.out.println("Production Load is finished");
} 

我有兴趣知道我在代码中犯了什么错误

最佳答案

添加 p.waitFor() 帮助我解决了这个问题。最初,该 block 不会等待该过程完成。

关于java - 调用批处理文件Java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516141/

相关文章:

java - 如何在没有密码编码的情况下使用Spring Security?

java - 我无法使用java中的Keylistener让这个形状移动

java - 在 JButton 上模拟 JMenuItem MouseListener

batch-file - 批处理变量不递增!

functional-programming - (Racket) 返回满足条件的列表的子列表

java - Spring Data JPA 太慢

Python:如何在新的 cmd 窗口中执行 bat 文件?

linux - 如何设置后台 ssh 隧道的自动(重新)启动

java - java 8 中的变量方法引用

functional-programming - 您如何使用像 Rust 这样的函数式语言来分享实现细节?