简体   繁体   中英

Building a process pipe with ProcessBuilder in Java 7

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 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.

"grep bla test.txt"

however assuming you need a pipe, you need to use a shell like bash

"/bin/bash", "-c", "grep foo text.txt | grep bar"

使用run()的简单复制循环为每个Input- / OutputStream对启动子线程。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM