Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Beginner
May 21, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Using Piped Streams in an Application

Java's PipedInputStream and PipedOutputStream classes allow you to write data to an OutputStream object and to read this data from an InputStream object (see the tips "Pass Data Between Threads Using Piped Streams" and "Connecting the Piped Stream Classes"). You can use the two stream classes in an application. Typically, you will create and use the PipedInputStream and PipedOutputStream objects in separate classes and in separate threads. This example shows how the output of the stream "pouts" is piped to the input of the stream "pins". This is a result of connecting the two streams through the PipedOutputStream constructor on Line 7. On Line 11, the byte array "HELLO" is written out to "pouts." On Lines 14 and 15, the byte array is read into "inArray" through "pins" and output to the standard output.
1. public class TestPipedStreams {
3.   public static void main(String[] args) {
4. 	try {
6.      PipedInputStream pins = new PipedInputStream();
7. 	  PipedOutputStream pouts = new PipedOutputStream(pins);
9. 	  byte[] outArray = {'H', 'E', 'L', 'L', 'O'};
10.   pouts.write(outArray, 0, 5);
11.   System.out.println("Wrote " + new String(outArray) + " to pouts");
13. byte[] inArray = new byte[5];
14. pins.read(inArray, 0, 5);
15. System.out.println("Read " + new String(inArray) + " from pins\n");
16. 	}
18.     catch (Exception e) {
19. 	  e.printStackTrace();
20. 	}
21.   }
Ajit Sagar
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date