pipe : Java Glossary


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
tcc/TakeCommand for examples of using bat file pipes

This page is posted
on the web at:


Optional Replicator mirror
of mindprod.com
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number