【发布时间】:2011-02-12 04:16:24
【问题描述】:
我主要在基于 Windows 和 Windows CE 的系统上工作,其中 CreateFile、ReadFile 和 WriteFile 是工作马,无论我是在本地 Win32 领域还是在托管的 .Net 领域。
到目前为止,我从来没有在一个块中写入或读取大文件时遇到任何明显的问题,而不是循环直到处理几个较小的块。我通常将 IO 工作委托给后台线程,当它完成时会通知我。
但是在查看文件 IO 教程或“教科书示例”时,我经常发现使用“带有小块的循环”而没有任何解释为什么使用它而不是更明显的(我敢说!)一次”。
我的做法有什么我不理解的缺点吗?
澄清:
通过大文件,我将我的单个块与多个块进行了比较。我提到的多块示例在 Windows CE 上的块大小通常为 1024 字节,而在桌面上则为 10 倍。我的大文件通常是二进制文件,例如手机中的相机照片等,大小为 2-10 MB。换句话说,不接近 1 GB。
【问题讨论】:
标签: .net windows file winapi file-io