我正在编写一个应用程序来读取和解析文件大小为1 KB到200 MB.
我要解析两次......
提取文件中包含的图像.
解析该图像提取图像的内容.
我通常使用文件流,缓冲流,二进制读取器和二进制写入器来读取和写入内容.
现在,我想知道读取文件和提取内容的最快,最有效的方法......
有好的方法还是好的班级图书馆?
注意:不安全的代码没问题!
yam*_*men 11
读取文件的最快速最简单的方法是:
var file = File.ReadAllBytes(fileName);
Run Code Online (Sandbox Code Playgroud)
这会将整个文件作为字节数组读入内存.然后,您可以通过它查找内存阵列访问速度所需的内容(也就是说,非常快).这几乎肯定比在阅读时尝试处理文件更快.
但是,如果此文件不适合内存(并且将为81 MB),那么您将需要以块的形式执行此操作.如果不需要,我们可以安全地避免这种棘手的讨论.这种情况下的解决方案是:
如果没有,你将需要块读取,缓存并保留你认为你需要的内存(为了提高效率)或重新读取它你根本无法将其保存在内存中.这可能会变得混乱和缓慢.
| 归档时间: |
|
| 查看次数: |
10272 次 |
| 最近记录: |