【发布时间】:2014-05-13 07:19:49
【问题描述】:
我有一个大字符串分隔的文本文件(不是单字符分隔的),如下所示:
第一个数据[STRING-SEPERATOR]第二个数据[STRING-SEPERATOR] ...
我不想将整个文件加载到内存中,因为它的大小(~250MB)。如果我用System.IO.File.ReadAllText 阅读整个文件,我会得到一个OutOfMemoryException。
因此,我想读取文件直到[STRING-SEPERATOR] 第一次出现,然后继续读取下一个字符串。这就像从文件中“取出”first data,处理它,然后继续使用 second data,它现在是文件的第一个数据。
System.IO.StreamReader.ReadLine() 对我没有帮助,因为文件的内容是一行。
您知道如何在 .NET 中读取文件直到某个字符串?
希望大家多多指教,谢谢。
【问题讨论】:
-
[STRING-SEPERATOR]是单个字符还是一串字符? -
是一串字符。
-
[STRING-SEPERATOR]有多长,每个连续的[STRING-SEPERATOR]之间可以多长时间? -
[STRING-SEPERATOR]是一个 GUID。我可以是分隔符之间的大约 100 个字符。 -
总是一样的
Guid?
标签: .net string file large-files