Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để tạo ra một chức năng tập tin so sánh trong Visual C#

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:320348
Đối với một Microsoft Visual Basic.NET Phiên bản của bài viết này, xem 320346.

Bài viết này đề cập đến Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.io

TRONG TÁC VỤ NÀY

TÓM TẮT
Bài viết-by-step này chứng tỏ làm thế nào để so sánh hai tập tin để xem nội dung của họ là như nhau. So sánh này nhìn vào các nội dung của hai tập tin, không phải ở các tên tập tin, địa điểm, ngày tháng, thời gian hoặc thuộc tính khác.

Chức năng này là tương tự như MS-MS-DOS-dựa Fc.exe tiện ích có được bao gồm các phiên bản khác nhau của Microsoft Windows và Microsoft MS-DOS, và với một số công cụ phát triển.

Mẫu mã được mô tả trong bài viết này thực hiện một so sánh byte byte cho đến khi nó tìm thấy một không phù hợp hoặc nó đạt đến cuối cùng của tập tin. Mã còn thực hiện hai kiểm tra đơn giản để tăng hiệu quả của việc so sánh:
  • Nếu cả hai tập tin tham khảo điểm vào cùng một tập tin, hai tập tin phải được bình đẳng.
  • Nếu kích thước của hai tập tin không phải là như vậy, hai tập tin là không giống nhau.
back to the top

Để tạo ra các mẫu

  1. Tạo một dự án mới Visual C# cửa sổ ứng dụng. Theo mặc định, Form1 được tạo ra.
  2. Thêm hai hộp kiểm soát mẫu.
  3. Thêm một nút lệnh mẫu.
  4. Trên các Xem trình đơn, nhấp vào Mã.
  5. Thêm dưới đây BẰNG CÁCH SỬ DỤNG báo cáo cho các Form1 lớp:
    using System.IO;					
  6. Thêm các phương pháp sau đây để các Form1 lớp:
    // 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. Dán đoạn mã sau trong các Nhấp vào sự kiện của nút lệnh:
    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. Lưu và sau đó chạy các mẫu.
  9. Cung cấp đường dẫn đầy đủ đến hai tập tin trong các textboxes, và sau đó nhấp vào nút lệnh.
back to the top
THAM KHẢO
Để biết thêm chi tiết, hãy truy cập trang Web Microsoft sau đây:
Truy cập tập tin thông qua các lớp học FileStream
(http://msdn2.Microsoft.com/en-US/Library/Aa903246 (VS.71) .aspx)
back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 320348 - Xem lại Lần cuối: 08/27/2011 20:36:00 - Bản sửa đổi: 2.0

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

  • kbhowtomaster kbio kbmt KB320348 KbMtvi
Phản hồi