问题描述
我想对文本进行操作,如data.txt7910806981431,好孩子纸尿裤中包装7910806981530,好孩子纸尿裤中包装7922190600553,奥妙全自动无磷洗衣粉7922190600577,奥妙全自动无磷洗衣粉7922190600591,奥妙全自动无磷洗衣粉大概有3000行,功能是这样的,在文本框中输入前面的数据,搜索文本是否有匹配的行,如果存在把后面的汉字显示出来。如果发现汉字内容不对,进行汉字修改,再点确定进行保存当前的行,我是在智能设备上开发的,按普通的方法一个个查询,再一行行写入文件中机器的速度会比较慢。有没有更好解决方法,请高手门指教呀
解决方案
解决方案二:
使用xml文件
解决方案三:
能不能详细一点,谢谢
解决方案四:
建议先把data.txt中的数据全读出来,放在程序中,需要修改在修改,你的文本前面的数据是按大小排序的,使用快的算法试试
解决方案五:
关健是存储,因为每修改一次就要写一次文本,怕机器突然没电时数据没有保存,写一次就要几千条,这样很慢
解决方案六:
一个个查询....如果你有10000000000条你一个一个查,疯了。我觉得,这种问题可以类似的归纳成为数据库搜索问题我们为了避免全表搜索,我们做得事情是什么?--索引,right所以,我的建议是,1。取出所有id/行数,具体的中文不用管,放入arraylist2。排序,这个arraylist就有,如果你用高效的归并排序,当然更好3。折半查找,最理想的情况就是马上找到找到后,找出相应的linenumber->取出记录,修改这样的效率一定比你现有的快。其实数据库好像基本就是这么做的,不管是sql的non-cluster还是oracle的b-treeindex.
解决方案七:
如果你的行数特别多,那么你可以分批做,因为我不喜欢一下子在内存开很大的数据块,(我本人以前从c++作起,:))一次一次做.其实你的每个object的大小应该是long+int=12B12B×3000=36k
解决方案八:
存储有没有好的方法。。。。。期待中。。。。
解决方案九:
修改后存到文本中有没有好方法
解决方案十:
不应该是遍历吧
解决方案十一:
哪位高人救救我呀
解决方案十二:
存储有没有好的方法??什么意思?我的方法不好嘛??我的方法保证不是全表搜索
解决方案十三:
如何高效存储,关注一下。是否可考虑,把数据导入access进行操作。
解决方案十四:
superxiaomm(小美)存储有没有好的方法??什么意思?我的方法不好嘛??我的方法保证不是全表搜索--------------------------------------------能否给个例子,谢谢
解决方案十五:
我已经把算法都写给你了,不需要例子了把
解决方案:
一步一步做,没有递归什么的,很简单的。
解决方案:
如何结贴呀,我怎么没看到结贴的按钮呢
解决方案:
建议行固定长度,不足补空格就可以定位到任意行
解决方案:
如果只是3000行的规模的话,不用考虑了,直接把文件全部读入内存,才几K的空间,用不着考虑那么复杂。写一次就要几千条,这样很慢只是你自己的想象而已,文件读写速度都是以M计的,为了这么点东西优化实在不值得。