pipe : Java Glossary

pipe
A pipe in a mechanism by which two programs running in the same machine can talk to one another. It is just a stream of characters that one end writes and the other reads. There is usually some buffering in the middle provided by the operating system so the producer need not pause if the consumer gets behind. Pipes are more efficient than files since often the whole transfer can occur in RAM (Random Access Memory) without any disk i/o. Remote pipes are called sockets. Java supports both pipes and sockets.

Pipes are also used to flow the STDOUT and STDERR of one program into the next. This is controlled with BAT (Batch) files.

Java pipes are intended for communication only between threads running in the same JVM (Java Virtual Machine). For interprocess communication, you must use sockets. In Linux you can use named pipes. In Java you access them as if they were files. They allow you direct the output of one program to the input of another running simultaneously. IO blocks when the reader gets ahead of the writer.

File I/O Amanuensis to learn how to write code to use pipes
process
socket
tcc/TakeCommand for examples of using bat file pipes

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/pipe.html J:\mindprod\jgloss\pipe.html
logofeedback Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email If you want your message kept confidential, not considered for posting, please explicitly specify that.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.211]
You are visitor number 18,660.