一个很大的txt文件,内容如下:
1000|ABC|...
2000|DFD|...
1000|OPF|...
2000|JKD|...
...
有好几万条!
现在需要对相同数字对应的每条信息进行文件存储(比如1000对应的所有信息存放进一个文件),有什么好方法,大家提供一下哈!
1000|ABC|...
2000|DFD|...
1000|OPF|...
2000|JKD|...
...
有好几万条!
现在需要对相同数字对应的每条信息进行文件存储(比如1000对应的所有信息存放进一个文件),有什么好方法,大家提供一下哈!
然后读一行看看hashmap有没有key存在,有就找到那个文件,append进去,没有就新建一个文件,同时key扔进去。只会这种了。
grep ^1000 your_file > your_new_file
findstr ^1000 your_file > your_new_file
2楼的Map改为key为10000这种值,value为文件输出流循环读文件取一行readLine
取出该行的前面字符串,如1000
取出的1000这样的字符串到Map去取文件输出流,如果不存在,怎创建该流,并保存到Map
把从文件读取的该行的字符串输出直到文件循环结束
遍历Map,逐个关闭文件输出流
我不排斥系统命令,但是shell下有个问题,不清楚这几万行一共有多少种数字。即使说了0000-9999的范围。循环10000次grep?如果碰到10000行里,1000有9000行,2000有900行,90行3333,10行4321(只在运行期知道这个情况)。那循环grep处理岂不是更浪费时间。
一个grep命令,和java读文件,取字符串,判断字符串相比,我认为grep效率要高
换句话说,如果同样能达到目的的处理,我认为还是系统命令比自己写的程序效率要高