private:
// 転送データ比較
void DataComparison( String^ SourceFile, String^ DestFile )
{
FileInfo^ sfi = gcnew FileInfo( SourceFile ); // ファイルサイズが違う場合比較処理しない
FileInfo^ dfi = gcnew FileInfo( DestFile );
if ( sfi->Length != dfi->Length )
{
MessageBox::Show("ファイルサイズが違います");
return;
}
else
{
FileStream^ sfs = File::OpenRead( SourceFile );
BinaryReader^ sourceBinReader = gcnew BinaryReader(sfs);
sourceBinReader->BaseStream->Position = 0;
FileStream^ dfs = File::OpenRead(DestFile);
BinaryReader^ destBinReader = gcnew BinaryReader(dfs);
destBinReader->BaseStream->Position = 0;
Int16 sourceBinContent, destBinContent;
Int64 i = 0;
try
{
while (sourceBinReader->PeekChar() > -1)
{
sourceBinContent = sourceBinReader->ReadInt16();
destBinContent = destBinReader->ReadInt16();
if (sourceBinContent != destBinContent)
{
MessageBox::Show(Convert::ToString(i),"不一致です");
break;
}
i++;
}
MessageBox::Show(Convert::ToString(i), "一致しました");
}
catch (Exception^ e)
{
MessageBox::Show(SourceFile, e->ToString());
}
finally
{
sourceBinReader->Close();
destBinReader->Close();
}
return;
}
}
|