파일 비교 함수를 Visual C# 에서 만드는 방법

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

320348
이 문서에서는 Microsoft Visual Basic .NET 버전에 320346 참조하십시오.

이 문서에서는 다음 Microsoft .NET Framework 클래스 라이브러리의 네임스페이스를 참조합니다.
  • System.IO

이 작업의

요약
이 문서에서는 해당 내용을 동일한 있는지 두 파일을 비교하는 방법을 보여 줍니다. 이 비교 않을 때 파일 이름, 위치, 날짜, 시간, 또는 기타 특성을 두 파일의 내용을 살펴봅니다.

이 기능은 다양한 버전의 Microsoft Windows 및 Microsoft MS-DOS 일부 개발 도구와 함께 제공되는 MS-MS-DOS 기반 Fc.exe 유틸리티를 비슷합니다.

이 문서에서 설명하는 예제 코드가 일치하지 않는 부분을 찾거나 파일 끝에 도달할 때까지 의해 바이트 비교를 수행합니다. 이 코드는 또한 비교 효율성을 높이는 두 가지 간단한 검사를 수행합니다.
  • 두 파일 모두 같은 파일으로의 참조를 지점을 파일 경우 같아야 합니다.
  • 두 파일 크기가 동일한 아닌 경우 두 파일이 동일한 않습니다.
back to the top

샘플 만들기

  1. 새 Visual C# Windows 응용 프로그램 프로젝트를 만듭니다. 기본적으로 Form1이 만들어집니다.
  2. 두 텍스트 상자 컨트롤을 폼에 추가하십시오.
  3. 명령 단추를 폼에 추가하십시오.
  4. 보기 메뉴에서 코드 를 클릭하십시오.
  5. Form1 클래스에 다음 USING 문을 추가할:
    using System.IO;					
  6. Form1 클래스에 다음 메서드를 추가합니다:
    // This method accepts two strings the represent two files to // compare. A return value of 0 indicates that the contents of the files// are the same. A return value of any other value indicates that the // files are not the same.private bool FileCompare(string file1, string file2){     int file1byte;     int file2byte;     FileStream fs1;     FileStream fs2;     // Determine if the same file was referenced two times.     if (file1 == file2)     {          // Return true to indicate that the files are the same.          return true;     }                    // Open the two files.     fs1 = new FileStream(file1, FileMode.Open);     fs2 = new FileStream(file2, FileMode.Open);               // Check the file sizes. If they are not the same, the files         // are not the same.     if (fs1.Length != fs2.Length)     {          // Close the file          fs1.Close();          fs2.Close();          // Return false to indicate files are different          return false;     }     // Read and compare a byte from each file until either a     // non-matching set of bytes is found or until the end of     // file1 is reached.     do      {          // Read one byte from each file.          file1byte = fs1.ReadByte();          file2byte = fs2.ReadByte();     }     while ((file1byte == file2byte) && (file1byte != -1));          // Close the files.     fs1.Close();     fs2.Close();     // Return the success of the comparison. "file1byte" is      // equal to "file2byte" at this point only if the files are         // the same.     return ((file1byte - file2byte) == 0);}					
  7. 명령 단추의 Click 이벤트에 다음 코드를 붙여:
    private void button1_Click(object sender, System.EventArgs e){   // Compare the two files that referenced in the textbox controls.   if (FileCompare(this.textBox1.Text, this.textBox2.Text))      {         MessageBox.Show("Files are equal.");      }   else      {         MessageBox.Show("Files are not equal.");      }  } 					
  8. 저장한 후 예제를 실행하십시오.
  9. 텍스트 상자, 두 파일에 대한 전체 경로를 입력한 다음 명령 단추를 클릭하십시오.
back to the top
참조
자세한 내용은 다음 Microsoft 웹 사이트를 방문 하시기 바랍니다:
FileStream 클래스 통한 파일 액세스
(http://msdn2.microsoft.com/en-us/library/Aa903246(VS.71).aspx)
back to the top

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 320348 - 마지막 검토: 11/26/2007 02:07:26 - 수정: 1.6

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2005 Express Edition

  • kbmt kbhowtomaster kbio KB320348 KbMtko
피드백