Your code makes the native app inherit native stdout/err process
descriptors, you need to pipe the output from your native app to Java
and then redirect the output to wherever you wish (byte array for
example).

In other words, Redirect.PIPE + pipe code.

Dawid

On Thu, May 28, 2015 at 12:43 PM, Weijun Wang <[email protected]> wrote:
> I am writing something like this
>
>     ByteArrayOutputStream bout = new ByteArrayOutputStream();
>     System.setOut(out);
>
>     System.out.println("Hello");
>
>     ProcessBuilder pb1 = new ProcessBuilder("./native-app");
>     pb1.redirectOutput(ProcessBuilder.Redirect.INHERIT);
>
>     pb1.start();
>
> Now "Hello" no longer shows on screen, but the output of "native-app" still
> shows up there. What else shall I do?
>
> This is Ubuntu 14.04.2.
>
> Thanks
> Max

Reply via email to