读取txt文件超出内存

sdfgrtyu 2017-05-22 03:17:52
    FileStream data_file1 = new FileStream(txt1.Text, FileMode.Open);//(".\\E39S0C0.dat", FileMode.Open);
StreamReader sr1 = new StreamReader(data_file1);
string val1 = sr1.ReadLine().Replace(" ", string.Empty);
sr1.Close();
data_file1.Close();

文件特别大,直接保存,超出内存,如何修改?
...全文
223 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxstar8 2017-05-22
  • 打赏
  • 举报
回复
所有内容在一行,可以每次读取指定长度的字符串内容,循环读取!
by_封爱 2017-05-22
  • 打赏
  • 举报
回复
lz一个问题一个问题解决好吗? 你先把你没结的那十几个帖子结了在说还
sdfgrtyu 2017-05-22
  • 打赏
  • 举报
回复
引用 2 楼 crystal_lz 的回复:
如果说 就只有你这几句代码 你说超出内存 那我想说 你内存是有多小还是 你一行文本有多大? FileStream 并不会一次加载全部文件 是需要手动Read的 而你把FileStream给了StreamReader 而又调用的是ReadLine 那么就只会从文件中读取一行 然后执行你的replace
引用 3 楼 ajdkjalj 的回复:
可以尝试读一行处理一行数据,不用一次性全部读出来
所有的文件都在一行,,,,
ajdkjalj 2017-05-22
  • 打赏
  • 举报
回复
可以尝试读一行处理一行数据,不用一次性全部读出来
crystal_lz 2017-05-22
  • 打赏
  • 举报
回复
如果说 就只有你这几句代码 你说超出内存 那我想说 你内存是有多小还是 你一行文本有多大? FileStream 并不会一次加载全部文件 是需要手动Read的 而你把FileStream给了StreamReader 而又调用的是ReadLine 那么就只会从文件中读取一行 然后执行你的replace
星空蔚蓝 2017-05-22
  • 打赏
  • 举报
回复
byte 存储 好像以前看过这类文章 你可以去找找

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧