作者love112302 (小黑炭)
看板java
标题[问题] 大型文字档修改,怎样才最快...(不限方法
时间Tue Oct 4 15:23:31 2011
我有两个文字档案,长得非常类似
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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.124.61.39
※ 编辑: love112302 来自: 140.124.61.39 (10/04 15:24)
1F:推 PsMonkey:怎麽办... 我会想塞资料库...... [核爆] 10/04 15:29
2F:→ love112302:有趣的想法 @@@@@ 可以来试试看 感觉会很快 10/04 15:41
3F:推 chchwy:Split()非常的慢,只换01行的话应该可以有其他方法 10/04 15:44
4F:→ love112302:to PsMonkey 可是我有很多个档案 这样我就要自己汇入? 10/04 15:49
5F:推 PsMonkey:都 split 了,多塞个资料库而已,多个档案就多个 table 10/04 16:23
6F:→ PsMonkey:另外记得,几十笔再 execute() 一次,效率快上好几倍 10/04 16:24
7F:→ janyfor:都想尝试资料库了...你何不直接用 excel... 10/04 23:07
8F:→ sbrhsieh:印象中 Excel 碰到 10 万列等级的量的数据就处理不来了~ 10/04 23:13
9F:→ janyfor:嗯~他只给我一百万多一点的数量 =__= 10/04 23:36
10F:推 PsMonkey:Excel 不是只能 65535 个 row 10/05 10:16
11F:→ jackcomtw:问:每笔资料都是固定长度吗? 10/06 12:17
每一笔资料长度都是固定的
但是每一个档案的笔数不一样 Q_Q
同样档案名称的两个档案笔数会一样
※ 编辑: love112302 来自: 140.124.61.39 (10/08 17:31)
12F:推 gmoz:装hadoop写map/reduce (误 10/30 09:52