分批次读取文件 参考下面链接中9楼的回复http://topic.csdn.net/u/20091014/08/1d1973e9-157c-40d7-b289-4d650bf48a55.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 放数据库好了,或直接使用oledb数据库驱动来读取文件,把文件当作一个一列的数据表来读取。 实际中的情况是这样的,现在有几十G左右的一个文本,里面的数据是从外界采集进来的信号,通过Matlab对这个文件做完各种算法处理后,要把这个文件中的数据通过数据采集卡输出到外围的其他设备,做下一步的信号处理。数据采集卡会为输出的数据开辟两个缓存,假设为缓存a和缓存b。输出数据的时候首先输出缓存a中的数据,输出完毕缓存a中的数据后,立刻输出缓存b中的数据,输出完毕缓存b中的数据后,又立刻输出缓存a中的数据。就这样不断地运行下去。 当输出完毕a中的数据后,就会触发上面所说的事件a,在事件a中要做的事情就是要把下一次待输出的数据写入缓存a,同理,当触发b事件时,向缓存b写入下次要输出的数据。现在要做的就是首先从文本中读取1000个数据写入缓存a,然后再取接下来1000个数据到缓存b。这样反复的进行下去。把文件换成数组就可以按照上面的过程来做,我现在采取的办法就是先把这个文件读入内存中,然后把数据从内存写入到缓存。但从文件到内存这个时间花费太大了。所以就想直接从文件写入缓存。但直接读我不会弄了。 在这里可不可以使用文件映射内存?望各位指教! 分析楼主的需求,其实所谓的缓存A 就是 == 缓存B -_-~~!输出A(1000行),再输出B(1000行),跟连续输出 A 1000 行 两次没区别,因为没有并发.B是等待A完成再进行那么的话其实只要 FileStream,StreamReader 一行一行的向后读就是了.. ... 數據量大,也不需要一下A事件讀1000行,一下B事件讀1000行,再由a事件讀1000行吧。你直接在一個事件中,1000行一次的進行讀取不就行啦。LZ可以在事件中,通過變量來控件,一次性讀取1000行數據,這樣周而復始就行了。 会用window Api 高手请进 怎样传输视频和音频啊? 半透明窗体的制作 C#对AUTOCAD二次开发插入图元的问题,求高手指点 改变datagrid列头文字颜色 关于正则转义 元字符的问题....... c# winform中的委托问题 C#自画表格双面打印 求助!关于ComboBox的绑定 新手问题 配置问题 请帮我解释下这个静态字段
实际中的情况是这样的,现在有几十G左右的一个文本,里面的数据是从外界采集进来的信号,通过Matlab对这个文件做完各种算法处理后,要把这个文件中的数据通过数据采集卡输出到外围的其他设备,做下一步的信号处理。数据采集卡会为输出的数据开辟两个缓存,假设为缓存a和缓存b。输出数据的时候首先输出缓存a中的数据,输出完毕缓存a中的数据后,立刻输出缓存b中的数据,输出完毕缓存b中的数据后,又立刻输出缓存a中的数据。就这样不断地运行下去。 当输出完毕a中的数据后,就会触发上面所说的事件a,在事件a中要做的事情就是要把下一次待输出的数据写入缓存a,同理,当触发b事件时,向缓存b写入下次要输出的数据。现在要做的就是首先从文本中读取1000个数据写入缓存a,然后再取接下来1000个数据到缓存b。这样反复的进行下去。把文件换成数组就可以按照上面的过程来做,我现在采取的办法就是先把这个文件读入内存中,然后把数据从内存写入到缓存。但从文件到内存这个时间花费太大了。所以就想直接从文件写入缓存。但直接读我不会弄了。 在这里可不可以使用文件映射内存?望各位指教!
输出A(1000行),再输出B(1000行),跟连续输出 A 1000 行 两次没区别,因为没有并发.B是等待A完成再进行
那么的话其实只要 FileStream,StreamReader 一行一行的向后读就是了.. ...