How To Compare Two Files with VB.NET and VB2005

This article and source code demonstrate how to use Visual Basic 2005 to compare two files to determine if they are equal. This comparison looks at file paths, file lengths, and file contents. NOTE: While source code for VB.NET is not provided, the CompareFiles function included in this article will work with VB.NET too. Be sure to Import System.IO.

Application Screen Shot

The source code includes a Windows Forms application.

Source Code Excerpt

After a user makes two file selections and clicks the ‘Compare Files’ button, the CompareFiles function in the source code performs the file comparison.

First CompareFiles compares the path to file one to the path to file two. If they are the same, file one and file two are the same.

Next, CompareFiles compares the length of file one to the length of file two. If they are different the files are not equal.

Finally, if file paths are different and the length of file one and file two are the same, CompareFiles compares the contents of file one to file two, byte-by-byte. If the bytes in file one are equal to the bytes in file two, the files are equal. The System.IO.FileStream class is used to read one byte at a time from each file. A FileStream object exposes a stream around a file, supporting both synchronous and asynchronous read and write operations.