Note that there are some explanatory texts on larger screens.

plurals
  1. POCan Java Runtime.exec another java program that uses stdin?
    text
    copied!<p>I have run into an issue where , when using Java Runtime to run another java program, the program freezes because the other program requires stdin . There is a problem with handling the stdin after executing another java program with Runtime exec() .</p> <p>Here is sample code that I can't get to work. Is this even possible?</p> <pre><code>import java.util.*; import java.io.*; public class ExecNoGobble { public static void main(String args[]) { if (args.length &lt; 1) { System.out.println("USAGE: java ExecNoGobble &lt;cmd&gt;"); System.exit(1); } try { String[] cmd = new String[3]; cmd[0] = "cmd.exe" ; cmd[1] = "/C" ; cmd[2] = args[0]; Runtime rt = Runtime.getRuntime(); System.out.println("Execing " + cmd[0] + " " + cmd[1] + " " + cmd[2]); Process proc = rt.exec(cmd); int exitVal = proc.waitFor(); System.out.println("ExitValue: " + exitVal); } catch (Throwable t) { t.printStackTrace(); } } } </code></pre> <p>And the ReadInput.java file:</p> <pre><code>import java.io.*; public class ReadInput { public static void main (String[] args) { // prompt the user to enter their name System.out.print("Enter your name: "); // open up standard input BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String userName = null; // read the username from the command-line; need to use try/catch with the // readLine() method try { userName = br.readLine(); } catch (IOException ioe) { System.out.println("IO error trying to read your name!"); System.exit(1); } System.out.println("Thanks for the name, " + userName); } } // end of ReadInput class </code></pre> <p>And, finally , the batch file that launches it:</p> <pre><code>@echo off echo. echo Try to run a program (click a key to continue) echo. pause&gt;nul java ExecNoGobble "java -cp . ReadInput" echo. echo (click a key to end) pause&gt;nul </code></pre> <p>I also posted the question here: <a href="http://forums.oracle.com/forums/message.jspa?messageID=9747449" rel="nofollow">http://forums.oracle.com/forums/message.jspa?messageID=9747449</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload