c# – 读取大TXT文件,内存不足异常
发布时间:2020-12-15 06:45:54 所属栏目:百科 来源:网络整理
导读:我想读大TXT文件大小是500 MB, 首先我用 var file = new StreamReader(_filePath).ReadToEnd(); var lines = file.Split(new[] { 'n' }); 但是它丢失了内存异常然后我试图逐行读取,但再次读取大约150万行后它抛出的内存异常 using (StreamReader r = new St
我想读大TXT文件大小是500 MB,
首先我用 var file = new StreamReader(_filePath).ReadToEnd(); var lines = file.Split(new[] { 'n' }); 但是它丢失了内存异常然后我试图逐行读取,但再次读取大约150万行后它抛出的内存异常 using (StreamReader r = new StreamReader(_filePath)) { while ((line = r.ReadLine()) != null) _lines.Add(line); } 或者我用过 foreach (var l in File.ReadLines(_filePath)) { _lines.Add(l); } 但我再次收到
我的机器是功能强大的机器与8GB的RAM,所以它不应该是我的机器问题. p.s:我试图在NotePadd中打开这个文件,我收到’该文件太大,无法打开’异常. 解决方法
只需使用
File.ReadLines,返回IEnumerable< string>并且不会立即将所有行加载到内存.
foreach (var line in File.ReadLines(_filePath)) { //Don't put "line" into a list or collection. //Just make your processing on it. } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |