Dar*_*rov 26
这是一个如何在不将整个内容加载到内存中的情况下以1KB的块读取文件的示例:
const int chunkSize = 1024; // read the file by chunks of 1KB
using (var file = File.OpenRead("foo.dat"))
{
int bytesRead;
var buffer = new byte[chunkSize];
while ((bytesRead = file.Read(buffer, 0, buffer.Length)) > 0)
{
// TODO: Process bytesRead number of bytes from the buffer
// not the entire buffer as the size of the buffer is 1KB
// whereas the actual number of bytes that are read are
// stored in the bytesRead integer.
}
}
Run Code Online (Sandbox Code Playgroud)
Ver*_*cas 10
System.IO.FileStream不会将文件加载到内存中.
此流是可搜索的,MD5哈希算法也不必加载流(文件)介绍内存.
请替换file_path为您的文件的路径.
byte[] hash = null;
using (var file = new FileStream(file_path, FileMode.Open))
{
using (var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider())
{
hash = md5.ComputeHash(stream);
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,您的MD5哈希将存储在hash变量中.