作者gyID (gy的ID,杀神的气魄)
看板java
标题Re: [问题] 大型文字档修改,怎样才最快...(不限方法
时间Thu Oct 27 11:34:45 2011
※ 引述《love112302 (小黑炭)》之铭言:
: 我有两个文字档案,长得非常类似
: A.txt
: 01 02 03 04 05 06
: ....
: B.txt
: 01 02 03
: ....
: 两个档案的笔数相同
: 莫约 700多万行
: 现在想要将 B.txt 的 01栏 贴到 A.txt的 01栏
: 但是碰到瓶颈 orz..
: 现在想到的方法有两个
: 1.
: String = BufferedReader.readLine();
: 读一笔 之後 split
: 取代掉 [0] 位置之後 写出去
: 产生新的 A.txt
: 但是这样执行效率非常缓慢...
: 2.
: 使用 ArrayList 将所有笔数塞进去
: 结果会 out of Memory...
: 想知道有没有甚麽办法是最快的....
: 想好久想不出来 T^T
因为你的每笔资料长度一致,
我认为你因为用循序档管理资料,所以速度会很慢。
试试看用随机档吧
比 较 项 目 循 序 档 随 机 档
资料储存方式 依存入的先後顺序储存 依纪录编号顺序储存
资料储存之型别 以字元型别储存 可依照宣告的型别储存
记录长度 不固定长度 固定长度
读取速度 逐项读取,速度较慢 直接读取,速度较快
磁碟空间的使用情形 较节省储存空间 较浪费储存空间
适用之作业 资料内容须全面异动之作业
仅异动特定资料内容之作业
至於用法参考 第7-5章
http://goo.gl/dg9O4
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.175.188
1F:推 tomap41017:感谢分享!! 10/27 13:40