Merge Two Files with C#

This article tells you how to merge any two files, whether it is text or video irrespective of the content type and size of the file.


Introduction:

I have used FileStream class for merging two files. First file will be opened for appending. Second file will be opened and read into a byte array. Then this byte array is written onto the first file stream and then both file steams will be closed. Now you have successfully appended the first file with the second file.

Uses:

If are left with two parts of video or audio file you have no option to play it because the player may not be able to read partial files. This is useful for joining files of same format splitted due to some size restrictions.

Code:

private void cmdMerge_Click(object sender, EventArgs e)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

    string sFile1 = txtFile1.Text;

    string sFile2 = txtFile2.Text;

    FileStream fs1=null;

    FileStream fs2=null;

    try

    {

        fs1 = File.Open(sFile1, FileMode.Append);

        fs2 = File.Open(sFile2, FileMode.Open);

        byte[] fs2Content = new byte[fs2.Length];

        fs2.Read(fs2Content, 0, (int)fs2.Length);

        fs1.Write(fs2Content, 0, (int)fs2.Length);

        MessageBox.Show("Done!");

    }

    catch (Exception ex)

    {

        MessageBox.Show(ex.Message + " : " + ex.StackTrace);

    }

    finally

    {

        fs1.Close();

        fs2.Close();

    }

}