I've been trying to figure out how to pipe a few processes in Java using the new ProcessBuilder
. I can't find a suitable example of what I want to do and when I try to do it myself the process just hangs. I would appreciate a very simple example of some code that runs the equivalent of cat test.txt | wc
, but not through a shell.
--Update--
OK, just to clarify. I know there are ways to simulate a pipe by reading and writing streams. I'm wondering if that's done in some automatic way by the redirectInput and redirectOutput methods introduced in Java 7.
You don't need a pipe in this case.
however assuming you need a pipe, you need to use a shell like bash
Start a child thread for each
Input-
/OutputStream
pair with a simple copy loop inrun()
.