C# 从txt文件中每次读取20个数据放入float数组

maomao131418 2014-04-22 10:35:03
如题。困惑很久了。在网上看到的方法大多是一次性读完数据的。可是现在数据的行数未知,大概几万行,每次读20个,放入数组,再减去从另一个txt中的20个数,然后将这20个数再发出去。应该怎么读呢?感觉用for每次循环20次,每次读一行个效率会不会不大高啊。感觉思路弄不清楚。。。希望有大神指点下,小女子谢谢啦
...全文
403 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2014-04-22
  • 打赏
  • 举报
回复
同意2楼。。。。。
xdashewan 2014-04-22
  • 打赏
  • 举报
回复

FileInfo fiData = new FileInfo(strPath);
FileStream fsData = fiData.OpenRead();
int iPos = 0;
byte[] abyteData = new byte[20];
int iActual = fsData.Read(abyteData, iPos, 20);
iPos = iPos + 20;
fsData.Seek(iPos, SeekOrigin.Begin);
做循环总会的吧,自己注意判断边界,还有就是byte转成string然后再转float
threenewbee 2014-04-22
  • 打赏
  • 举报
回复
string[] source = ... var dataremain = source.AsEnumerable(); do { var data = dataremain.Take(20); dataremain = dataremain.Skip(20); ... } while (dataremain.Count() > 0)
maomao131418 2014-04-22
  • 打赏
  • 举报
回复
引用 1 楼 gomoku 的回复:
几万行并不多,一次性读完数据也没有问题。 如果不想一次性读入,可以用StreamReader。
现在是用streamread来写的,可是不知道怎么一次读入20行啊。。。
threenewbee 2014-04-22
  • 打赏
  • 举报
回复
一次性全部读入 然后用Skip和Take。
gomoku 2014-04-22
  • 打赏
  • 举报
回复
几万行并不多,一次性读完数据也没有问题。 如果不想一次性读入,可以用StreamReader。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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