相关疑难解决方法(0)

何时使用内存映射文件?

我有一个应用程序通过网络接收数据块,并将这些数据写入磁盘.一旦收到所有块,就可以将它们解码/重新组合成它们实际代表的单个文件.

我想知道是否使用内存映射文件是有用的 - 首先是将单个块写入磁盘,第二个是单个文件,所有这些文件都被解码.

我自己的感觉是它只对第二种情况有用,有人对此有所了解吗?

编辑:这是一个C#应用程序,我只是计划一个x64版本.(因此,遇到'最大的可用自由空间'问题应该不相关)

c# memory-mapped-files

43
推荐指数
2
解决办法
4万
查看次数

如何在C#中打开一个大文本文件

我有一个包含大约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'的异常.

问题是如何打开此文件并逐行阅读.

  • 文件大小:564 MB(591,886,626字节)
  • 文件编码:UTF-8
  • 文件包含Unicode字符.

c# text out-of-memory

3
推荐指数
3
解决办法
1万
查看次数

标签 统计

c# ×2

memory-mapped-files ×1

out-of-memory ×1

text ×1