Wednesday, 7 September 2016

Java Tutorial : Java IO (SequenceInputStream - Read from multiple files and write to single file)


Click here to watch in Youtube : 
https://www.youtube.com/watch?v=gsMSg1FifIY&list=UUhwKlOVR041tngjerWxVccw
myfile1.txt
1,2,3,4,5,
myfile2.txt
6,7,8,9,10,
myfile3.txt
11,12,13,14,15
SequenceInputStreamDemo.java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

/*
 * public SequenceInputStream(Enumeration<? extends
 *                                     InputStream> e)
 * 
 * Parameters: 
 * ----------- 
 * 
 * e - an enumeration of input streams.
 */

public class SequenceInputStreamDemo
{

    public static void main(String[] args) throws IOException
    {
        FileInputStream fileInputStream1 = null;
        FileInputStream fileInputStream2 = null;
        FileInputStream fileInputStream3 = null;
        FileOutputStream fileOutputStream = null;
        SequenceInputStream sequenceInputStream = null;

        try
        {
            fileInputStream1 = new FileInputStream("myfile1.txt");
            fileInputStream2 = new FileInputStream("myfile2.txt");
            fileInputStream3 = new FileInputStream("myfile3.txt");

            fileOutputStream = new FileOutputStream("myoutputfile.txt");

            Vector<FileInputStream> vector = new Vector<FileInputStream>();
            vector.add(fileInputStream1);
            vector.add(fileInputStream2);
            vector.add(fileInputStream3);

            Enumeration<FileInputStream> enumeration = vector.elements();

            sequenceInputStream = new SequenceInputStream(enumeration);
            int i;
            while ((i = sequenceInputStream.read()) != -1)
            {
                fileOutputStream.write(i);
            }
            System.out
                    .println("Successfully read from 3 files and written to one file.");
        }
        finally
        {
            if (fileInputStream1 != null)
            {
                fileInputStream1.close();
            }
            if (fileInputStream2 != null)
            {
                fileInputStream2.close();
            }
            if (fileInputStream3 != null)
            {
                fileInputStream3.close();
            }
            if (fileOutputStream != null)
            {
                fileOutputStream.close();
            }
            if (sequenceInputStream != null)
            {
                sequenceInputStream.close();
            }
        }
    }

}
Output
Successfully read from 3 files and written to one file.
myoutputfile.txt
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/JavaIODemo_SequenceInputStream_RW_Enumeration_App.zip?attredirects=0&d=1

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

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/f08e719b5c34b35462be547882dfc81ea74a1c1e/BasicJava/JavaIODemo_SequenceInputStream_RW_Enumeration_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