C# 读写超大文件的方法? 我有一个10G左右的大数据文件,要对其进行处理,然后保存成一个新文件,如何做才能提高效率?是不是应该分块读取,例如一次读100兆,然后在内存中对其进行相应的处理,然后存盘,再次读取100兆 再处理 继续存到同同一文件中 然后再次……C#分块读和存用什么代码比较好?另:我对数据的处理中有移位运算,在分块读写的同时如何保证移位运算的正确性? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就用一般的FileStream,应该是可以实现分块读取和写入吧。因为它有指针。你的移位运算是在整字内部移位的话(比如在int32或int64)分块读写应该没有任何问题。因为你不可能把块的边界刚好分在int的中间吧? byte[] 追加 添加 不用 考虑 文件 完整但是 注意 了 顺序 不然 你要 标记 每段 byte[] 的顺序 弄完 了 在 合成文件 其实 就是 把 分散 的 合并到 一块这个 问题 你要 预先 算 出文件 块数 以及 块数 之间 的 关系 看 你怎么实现 了 这就是传说 中的算法 ,先 整体 压缩 扯分 后 在压缩组合 时 可以有很多方法 比如 a + b + c+d或 (a + b) +(c + d)就是 两个算法 网上 有 很多 压缩 和 解压 的 API 自己 找怎么 合并 一般 自己 就 可以 解决 .net 4.0自代内存文件映射,用流什么都不靠谱,还是要用映射,一些做野鸡文件数据库的常用这种方法。 软件升级,微软的MDA验证 有谁能帮我js代码改写成C# dataAdapter更新数据库时 没有跟新到底层数据库 [快速结贴]小问题一个, 高分求解 转到定义 C#的WinForm程序脱离了开发环境运行不了,大家帮忙。 拖动DataGrid的列头的事件是什么啊? 请问我在自制的浏览器中怎样实现IE查看菜单中的编码的功能? c#连结oracle8.0.5的问题? 200分求[C#屏幕取词] 求高手帮忙给个思路,关于操作dataTable
你的移位运算是在整字内部移位的话(比如在int32或int64)分块读写应该没有任何问题。因为你不可能把块的边界刚好分在int的中间吧?
不用 考虑 文件 完整
但是 注意 了 顺序
不然 你要 标记 每段 byte[] 的顺序
弄完 了 在 合成
文件 其实 就是 把 分散 的 合并到 一块这个 问题
你要 预先 算 出文件 块数 以及 块数 之间 的 关系
看 你怎么实现 了 这就是传说 中的算法 ,先 整体 压缩 扯分 后 在压缩组合 时 可以有很多方法 比如 a + b + c+d
或 (a + b) +(c + d)
就是 两个算法
怎么 合并 一般 自己 就 可以 解决