Tuesday 20 September 2016

Java Tutorial : Java IO (PipedReader and PipedWriter-V5)


Click here to watch in Youtube : 
https://www.youtube.com/watch?v=6GTi-WAPdFE&list=UUhwKlOVR041tngjerWxVccw

MyThread.java
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;

class MyThread extends Thread
{

    private PipedReader pr;
    private PipedWriter pw;

    MyThread(String name, PipedReader pr, PipedWriter pw)
    {

        super(name);
        this.pr = pr;
        this.pw = pw;
    }

    @Override
    public void run()
    {

        try
        {
            if (getName().equals("Thread 1"))
            {
                for (int cnt = 0; cnt < 15; cnt++)
                {
                    pw.write("Welcome " + cnt + "\n");
                }
                pw.close();
            }
            else
            {

                int data;
                while ((data = pr.read()) != -1)
                {
                    System.out.print((char) data);
                }
                pr.close();
            }

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}
PipedReadWriteDemo.java
import java.io.PipedReader;
import java.io.PipedWriter;

/*
 * We have created a thread, MyThread that extends the
 * Thread. It has a PipedReader and a PipedWriter
 * property. It overrides the run() API method of
 * Thread. In the method, according to the thread name,
 * it uses either the PipedReader to read or the
 * PipedWriter to write
 */

public class PipedReadWriteDemo
{

    public static void main(String[] args) throws Exception
    {

        /*
         * The PipedWriter is a class for writing to piped
         * character-output streams.
         */
        PipedWriter pw = new PipedWriter();
        /*
         * The PipedReader is a class for reading piped
         * character-input streams,
         */
        PipedReader pr = new PipedReader(pw);

        MyThread mt1 = new MyThread("Thread 1", pr, pw);
        MyThread mt2 = new MyThread("Thread 2", pr, pw);

        mt1.start();
        Thread.sleep(2000);
        mt2.start();
    }
}
Output
Welcome 0
Welcome 1
Welcome 2
Welcome 3
Welcome 4
Welcome 5
Welcome 6
Welcome 7
Welcome 8
Welcome 9
Welcome 10
Welcome 11
Welcome 12
Welcome 13
Welcome 14

Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/JavaIODemo_PipedReader_PipedReader_V5_App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/JavaIODemo_PipedReader_PipedReader_V5_App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/301d989d72a8b053f20342cfe0bd4a5c143c23aa/BasicJava/JavaIODemo_PipedReader_PipedReader_V5_App/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment