java如何知道进程是否正在等待输入

java如何知道进程是否正在等待输入,java,Java,我试图用java创建一个进程,启动一个外部文件,该文件要求用户在执行时给出一些参数 问题是如何确定过程是否需要争论 ProcessBuilder pb = new ProcessBuilder(c.fileName); Process proc = null; try { proc = pb.start(); } catch (IOException ex) { Logger.getLogger(clas.class.getName

我试图用java创建一个进程,启动一个外部文件,该文件要求用户在执行时给出一些参数

问题是如何确定过程是否需要争论

    ProcessBuilder pb = new ProcessBuilder(c.fileName);
    Process proc = null;
    try {
        proc = pb.start();
    } catch (IOException ex) {
        Logger.getLogger(clas.class.getName()).log(Level.SEVERE, null, ex);
    }
    Scanner in = new Scanner(proc.getInputStream());
    PrintWriter out = null;
    out = new PrintWriter(proc.getOutputStream());
    while (in.hasNextLine()) {
        System.out.println(in.nextLine());
        out.println(1); // i don't want to give 1 untill the process need it ! 
        out.flush();
    }

    out.close();

也许您应该侦听并响应进程的InputStream,希望它在想要接受数据时会发送一些内容(当然这一切都取决于进程)。可能的重复?:也许您应该侦听并响应进程的InputStream,希望它在想要接受数据时会发送一些内容(当然这一切都取决于进程)。可能的重复?: