Java hangs when trying to close a ProcessBuilder OutputStream
<p>I have the following Java code to start a ProcessBuilder, open an OutputStream, have the process write a string to an OutputStream, and then close the OutputStream.  The whole thing hangs indefinitely when I try to close the OutputStream.  This only happens on Windows, never on Mac or Linux.</p>

<p>Some of the related questions seem to be close to the same problem I'm having, but I haven't been able to figure out how to apply the answers to my problem, as I am a relative newbie with Java.  Here is the code.  You can see I have put in a lot of println statements to try to isolate the problem.</p>

<pre><code>    System.out.println("GenMic trying to get the input file now");
    System.out.flush();
    OutputStream out = child.getOutputStream();
    try {
        System.out.println("GenMic getting ready to write the input file to out");
        System.out.flush();
        out.write(intext.getBytes());  // intext is a string previously created
        System.out.println("GenMic finished writing to out");
        System.out.flush();
        out.close();
        System.out.println("GenMic closed OutputStream");
        System.out.flush();
    } catch (IOException iox) {
        System.out.println("GenMic caught IOException 2");
        System.out.flush();
        String detailedMessage = iox.getMessage();
        System.out.println("Exception: " + detailedMessage);
        System.out.flush();
        throw new RuntimeException(iox);
    }
</code></pre>

<p>And here is the output when this chunk is executed:</p>

<p>GenMic trying to get the input file now</p>

<p>GenMic getting ready to write the input file to out</p>

<p>GenMic finished writing to out</p>
