1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Public Shared Function FilesAreEqual_Byte(ByVal firstFile As FileInfo, ByVal secondFile As FileInfo) As Boolean
If Not firstFile.Length = secondFile.Length Then
Return False
End If
Using fs1 As FileStream = firstFile.OpenRead()
Using fs2 As FileStream = secondFile.OpenRead()
For i As Integer = 0 To firstFile.Length - 1 Step 1
If Not fs1.ReadByte() = fs2.ReadByte() Then
Return False
End If
Next
End Using
End Using
Return True
End Function
Public Shared Function FilesAreEqual_Hash(ByVal firstFile As FileInfo, ByVal secondFile As FileInfo) As Boolean
If Not firstFile.Length = secondFile.Length Then
Return False
End If
Dim firstHash As Byte() = MD5.Create().ComputeHash(firstFile.OpenRead())
Dim secondHash As Byte() = MD5.Create().ComputeHash(secondFile.OpenRead())
For i As Integer = 0 To firstHash.Length - 1 Step 1
If Not firstHash(i) = secondHash(i) Then
Return False
End If
Next
Return True
End Function |
Partager