2024年3月15日发(作者:)

.NET实现word在线对比

展开全文

protected void btnGoToCompare_Click(object sender, EventArgs e)

{

string file1 =h("~/");//第一个文件的

名称

string file2 = h( "~/");//第二个文件的

名称

string script = "";

if (FileCompare(file1, file2))

{

script="alert('两个文件是相同的。')";

erStartupScript(GetType(),d().ToStrin

g(),script,true);

}

else

{

script = "alert('两个文件是不相同的。')";

erStartupScript(GetType(),

d().ToString(), script, true);

}

}

//此方法所接收的两个字符串代表您所要比较的两个文件。如果两个文件的内容完全

相同,

//将返回 True;任何其他的返回值都表示这两个文件的内容有所差异。

private bool FileCompare(string file1, string file2)

{

// 判断相同的文件是否被参考两次。

if (file1 == file2)

{

return true;

}

int file1byte = 0;

int file2byte = 0;

FileStream fs2 = new FileStream(file2, );

using (FileStream fs1 = new FileStream(file1, ))

{

// 检查文件大小。如果两个文件的大小并不相同,则视为不相同。

if ( != )

{

// 关闭文件。

();

();

return false;

}

// 逐一比较两个文件的每一个字节,直到发现不相符或已到达文件尾端为止。

do

{

// 从每一个文件读取一个字节。

file1byte = te();

file2byte = te();

}while ((file1byte == file2byte) && (file1byte != -1));

// 关闭文件。

();

();

}

// 返回比较的结果。在这个时候,只有当两个文件的内容完全相同时,"file1byte"

才会等于 "file2byte";

return ((file1byte - file2byte) == 0);

}