使用java怎么样才能从一个大型文件(假设是txt文件)快速抓取一个我想要的信息啊

带鱼鱼子 2020-11-29 09:11:26
使用java怎么样才能从一个大型文件 (假设是txt文件) 快速抓取一个我想要的信息啊
...全文
2200 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-11-30
  • 打赏
  • 举报
回复
如果文件中的数据是有序的(按照大小的顺序排列好的),使用折半查找即可。 如果文件中数据没有规律,可以先导入数据,然后,使用数据库进行查找,这个是最方便的。 如果一个文件只查找一次,然后就再也不用了的话,有两个方案,如果是linux系统的话,直接用命令可以搞定;如果是编程的话,打开文件读取数据进行匹配即可。 总之就是,数据有规律的话,考虑是否可以利用规律加快检索速度,没有规律的话,利用数据库提高检索效率。使用数据库的话,可以进行多次查询操作,并且,如果创建索引的话,效果非常的好。 也是我推荐的方法,先导入数据库,然后对要查找分析的数据建立索引,最后SQL语句进行查找即可。
冰思雨 2020-11-30
  • 打赏
  • 举报
回复
引用 7 楼 +疯狂幻想+ 的回复:
我的数据是排好序的,全部都是数字,我想问一下可以只使用java进行查找,不使用数据库,索引
用Java进行有序文件的查找,可以使用 RandomAcessFile 来进行文件的访问。 至于查找算法,简单点,使用二分查找法吧。需要注意的一点是,如果按照字节定位文件数据时,读取的可能是某个数字的一半,这时,可以考虑读取下一个有效数据进行查找的比对,或者,回退几个字节读取出完整的有效数据(数字)。如果是机械硬盘,不建议回退读取,效率非常低。文件读写,建议建立缓冲区,提高效率,或者,采用内存映射形式的缓冲区。
虾米__ 2020-11-30
  • 打赏
  • 举报
回复
知乎大佬是怎么回复你的? 我想听一下,之前做过此类的检索几次,超大文件都是es,小的话读到内存里然后匹配的 想听听你的方法,学习一下
带鱼鱼子 2020-11-30
  • 打赏
  • 举报
回复
我的想法是积硅步以致千里,从笨方法开始,不是想要最便捷的数据库方法
带鱼鱼子 2020-11-30
  • 打赏
  • 举报
回复
引用 6 楼 冰思雨的回复:
如果文件中的数据是有序的(按照大小的顺序排列好的),使用折半查找即可。 如果文件中数据没有规律,可以先导入数据,然后,使用数据库进行查找,这个是最方便的。 如果一个文件只查找一次,然后就再也不用了的话,有两个方案,如果是linux系统的话,直接用命令可以搞定;如果是编程的话,打开文件读取数据进行匹配即可。 总之就是,数据有规律的话,考虑是否可以利用规律加快检索速度,没有规律的话,利用数据库提高检索效率。使用数据库的话,可以进行多次查询操作,并且,如果创建索引的话,效果非常的好。 也是我推荐的方法,先导入数据库,然后对要查找分析的数据建立索引,最后SQL语句进行查找即可。
我的数据是排好序的,全部都是数字,我想问一下可以只使用java进行查找,不使用数据库,索引
鱼妖 2020-11-30
  • 打赏
  • 举报
回复
算法大概是: 1.切块并行扫描。 2.对切块处进行二次切块拼接扫描。 3.一次切块二次切块大小根据搜索内容长度、并行作业个数等来定义
带鱼鱼子 2020-11-29
  • 打赏
  • 举报
回复
引用 1 楼 tianfang的回复:
关键问题是 你想要啥
12个G的txt文件 里面存放的都是数字号码 从中搜索一个需要的
tianfang 2020-11-29
  • 打赏
  • 举报
回复
关键问题是 你想要啥
带鱼鱼子 2020-11-29
  • 打赏
  • 举报
回复
引用 3 楼 tianfang的回复:
[quote=引用 2 楼 +疯狂幻想+ 的回复:][quote=引用 1 楼 tianfang的回复:]关键问题是 你想要啥
12个G的txt文件 里面存放的都是数字号码 从中搜索一个需要的 [/quote] 这么引导还说不明白啊 搜索规则/条件是什么[/quote] 不用你们了, 我已经弄好了, 还是知乎大佬NB
半道道 2020-11-29
  • 打赏
  • 举报
回复
1.要看文件存在什么规律,自己想要什么内容 2.将文件拆分成小文件,正则匹配 3.将文件内容落库到ES中,全文见检索一下 方法很多,但具体问题需要具体处理
tianfang 2020-11-29
  • 打赏
  • 举报
回复
引用 2 楼 +疯狂幻想+ 的回复:
[quote=引用 1 楼 tianfang的回复:]关键问题是 你想要啥
12个G的txt文件 里面存放的都是数字号码 从中搜索一个需要的 [/quote] 这么引导还说不明白啊 搜索规则/条件是什么

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧