반응형

* C# 파일 비교  (File Compare) 예제...

 

Main

- 사용한 컨트롤 : Label 5개 , Button 3개 , GroupBox 1개

 

전체 소스 코드

Form1.cs

 

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;

namespace CSharp_FileCompare
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //원본 파일 선택...
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                lblSource.Text = ofd.FileName;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            //대상 파일 선택...
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                lblDesc.Text = ofd.FileName;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //File Compare
            int iFile1byte;
            int iFile2byte;
            System.IO.FileStream fs1;
            System.IO.FileStream fs2;

            //파일 위치 및 이름이 같으면...
            if (lblSource.Text == lblDesc.Text)
            {
                lblCompare.Text = "같은 파일 입니다.";
                return;
            }

            // Open the two files.
            fs1 = new System.IO.FileStream(lblSource.Text, System.IO.FileMode.Open);
            fs2 = new System.IO.FileStream(lblDesc.Text, System.IO.FileMode.Open);

            //파일 길이 비교...
            if (fs1.Length != fs2.Length)
            {
                // Close the file
                fs1.Close();
                fs2.Close();

                // Return false to indicate files are different
                lblCompare.Text = "다른 파일 입니다.";
                return ;
            }

            do
            {
                // Read one byte from each file.
                iFile1byte = fs1.ReadByte();
                iFile2byte = fs2.ReadByte();
            }
            while ((iFile1byte == iFile2byte) && (iFile1byte != -1));

            // Close the files.
            fs1.Close();
            fs2.Close();

            if ((iFile1byte - iFile2byte) == 0)
            {
                lblCompare.Text = "같은 파일 입니다.";
            }

        }
    }
}

 

 

*예제 결과

 

- 길이 및 읽은 바이트 수가 같으면...

 

 

- 파일 위치 및 이름이 같으면...

 

 

- 파일 길이 및 이름, 읽은 바이트 수가 다르면...

 

 

https://kdsoft-zeros.tistory.com/178

 

[VBNET] 파일 비교 (File Compare)

* VBNET 파일 비교 (File Compare) 예제... - 사용한 컨트롤 : Label 5개 , Button 3개 , GroupBox 1개 전체 소스 코드 Form1.vb Public Class Form1 Private Sub button1_Click(ByVal sender As System.Object,..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts