我有一个应用程序通过网络接收数据块,并将这些数据写入磁盘.一旦收到所有块,就可以将它们解码/重新组合成它们实际代表的单个文件.
我想知道是否使用内存映射文件是有用的 - 首先是将单个块写入磁盘,第二个是单个文件,所有这些文件都被解码.
我自己的感觉是它只对第二种情况有用,有人对此有所了解吗?
编辑:这是一个C#应用程序,我只是计划一个x64版本.(因此,遇到'最大的可用自由空间'问题应该不相关)
我有一个包含大约100000篇文章的文本文件.文件结构是:
.Document ID 42944-YEAR:5 .Date 03\08\11 .Cat political Article Content 1 .Document ID 42945-YEAR:5 .Date 03\08\11 .Cat political Article Content 2
我想在c#中打开这个文件,逐行处理它.我试过这段代码:
String[] FileLines = File.ReadAllText(
TB_SourceFile.Text).Split(Environment.NewLine.ToCharArray());
Run Code Online (Sandbox Code Playgroud)
但它说:
抛出了类型'System.OutOfMemoryException'的异常.
问题是如何打开此文件并逐行阅读.