using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace FileCompare
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //example file1Path maens {C:\\Demo\\weeklyad.txt}
        // and filePath2 maens {C:\\Demo\\words.txt}
        private bool FileCompare(string file1Path, string file2Path)
        {
            int file1byte;
            int file2byte;
            FileStream fs1;
            FileStream fs2;           
            if (file1Path == file2Path)
            {             
                return true;
            }
            fs1 = new FileStream(file1Path, FileMode.Open);
            fs2 = new FileStream(file2Path, FileMode.Open);

            if (fs1.Length != fs2.Length)
            {                
                fs1.Close();
                fs2.Close();            
                return false;
            }
            do
            {                
                file1byte = fs1.ReadByte();
                file2byte = fs2.ReadByte();
            }
            while ((file1byte == file2byte) && (file1byte != -1));           
            fs1.Close();
            fs2.Close();
            
            //return the success of the two file comparison
            return ((file1byte - file2byte) == 0);
        }
        private void btnCompare_Click(object sender, EventArgs e)
        {
            if (FileCompare(this.txtFile1.Text, this.txtFile2.Text))
            {
                lblResult.Text="Result : Files are equal.";
            }
            else
            {
                lblResult.Text="Result : Files are not equal.";
            } 
        }
    }
}