PDA

مشاهده نسخه کامل : سوال در مورد روش مقایسه دو فایل باینری



ali_nob
03-07-10, 21:57
سلام
من دو فایل باینری رو می خواهم با هم مقایسه کنم و اختلاف اونها رو در یک فایل بانری دیگه ذخیره کنم !
در این خصوص چه کدی رو پیشنهاد می کنید
متشکرم

ravegoat
04-07-10, 16:30
با سلام!

فكر مي كنم منظورتون اينه كه چه جوري يه فايل رو به طور باينري بخونيم.

براي اين كار ميشه از تابع زير استفاده كرد:





Imports System.IO
Public Class IO_Library
Public Shared Function ReadBinaryData(ByVal path As String) As Byte()
' Open the binary file.
Dim streamBinary As New FileStream(path, FileMode.Open)
' Create a binary stream reader object.
Dim readerInput As BinaryReader = New BinaryReader(streamBinary)
' Determine the number of bytes to read.
Dim lengthFile As Integer = FileSize(path)
' Read the data in a byte array buffer.
Dim inputData As Byte() = readerInput.ReadBytes(lengthFile)
' Close the file.
streamBinary.Close()
readerInput.Close()
Return inputData
End Function 'ReadBinaryData'
Public Shared Function FileSize(ByVal path As String) As Integer
Dim info As New FileInfo(path)
Return info.Length
End Function 'FileSize'
End Class 'IO_Library'

اين تابع با گرفتن مسير فايل، اون رو به طور باينري مي خونه. پس از خوندن هر فايل به طور باينري مي تونيد با ايجاد يه حلقه تك تك بيت ها رو با هم مقايسه كنيد. سعي مي كنم به زودي سورس كاملش رو تهيه كنم و قرار بدم.

منبع كد (Only the registered members can see the link)

موفق باشيد
آرمين

ali_nob
04-07-10, 17:34
سلام
بسیار متشکرم البته منطق مقایسه اون میتونه خیلی سریعتر باشه چون این فایلها خاص هستند و اینطوری هستند که فایل بزرگتر حاوی محتویات فایل کوچکتر به اضافه یکسری چیزهای دیگه که بهش Append شده است می باشد
متشکرم