Làm th? nào đ? t?o ra m?t ch?c năng t?p tin so sánh trong Visual C#

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 320348 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang 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.

Đ? 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.

THAM KH?O

Đ? bi?t thêm chi ti?t, h?y truy c?p trang Web Microsoft sau đây:
Không gian tên System.io
(http://msdn2.Microsoft.com/en-US/Library/System.io (vs.71) .aspx)
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)

Thu?c tính

ID c?a bài: 320348 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
T? khóa: 
kbhowtomaster kbio kbmt KB320348 KbMtvi
Máy d?ch
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

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com