我知道我可以MD5一个完整的文件,这是不我想做的事情。
我想获取标题和实际文件内容。
我知道每个文件都有一个标题,然后有内容。我想比较两个文件的实际内容,以确定内容是否相同,为此我将在内容上使用简单的md5。
我的问题是如何从内容中分离标题,以便我可以进行计算? - 为了使这更清楚,我需要知道的是抵消;它们对于所有文件是否相同或不同,如果不同,我如何找到详细信息以便我可以完成此任务。 (我知道漱口但无法找到它。)
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
return md5.ComputeHash(SplitContentFromHeader(stream));
}
}
SplitContentFromHeader(stream)
{
.. do the thing and return the shortened stream
}
答案 0 :(得分:0)
我认为您想要使用.Seek
和.Read
方法。请参阅此处的文档:https://msdn.microsoft.com/en-us/library/system.io.filestream.seek(v=vs.110).aspx和此处https://msdn.microsoft.com/en-us/library/system.io.stream.read(v=vs.110).aspx
在这里复制类似的问题Read file from position尝试这样的事情:
using (FileStream fs = new FileStream(@"file.txt", FileMode.Open, FileAccess.Read))
{
fs.Seek(100, SeekOrigin.Begin);
byte[] b = new byte[fs.Length - 100];
fs.Read(b, 0, (int)(fs.Length - 100));
string s = System.Text.Encoding.UTF8.GetString(b);
}