从java运行bat文件

时间:2018-06-12 11:21:22

标签: java batch-file

我需要从java运行bat文件。这是我用于此的代码。

public static void main(String[] args) {
    try {
        ProcessBuilder pb = new ProcessBuilder("C:\\test\\test.bat");
        Process p = pb.start();
        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line = null;
        while ((line = reader.readLine()) != null)
        {
            System.out.println(line);
        }      
        p.waitFor();
    } catch (IOException ex) {
        Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InterruptedException ex) {
        Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
    } 
}

此代码工作正常。但是如果我为bat文件程序添加等待代码等待并且永远不会结束。这是bat文件。

@echo off
echo harshana
echo harshana
echo harshana
choice /d y /t 5 > nul
echo Times up! Here I go again...
echo harshana10

当我在cmd中运行这个bat文件时,它会回响3次' harshana'并等待5秒钟。然后回声其余的。但是当我从java代码运行bat文件时,那就是时间了!我再来一次......'和' harshana10'没有打印,java代码没有退出(等待)。我该如何解决这个问题?

0 个答案:

没有答案