问题描述
小弟是新到咱们论坛的,听说这里牛人较多,现有个超出小弟能力的问题期待大家给出意见:读取300多个每个2G的文件,每个文件都是5列N多行,由于需要从中选出某行某列的数,所以需要按行依次扫描,性能很低很低,所以想到了内存文件映射,但是好像内存文件映射没有读行的方法readLine();请大家帮忙分析下,如何能把FileChannel与readLine()结合呢?所以请大家给小弟指点下迷津!!!严重感谢大家!!!问题补充:哦,我的业务逻辑主要是每个文件的行数都是一样的在30000000行左右,我需要每隔几十行取一次那一行规定列的数据。比如取第1000行,第2000行的数据,每行有五列,中间用空格分隔。
解决方案
内存映射文件
解决方案二:
不好意思,不知道!看看!学习学习!
解决方案三:
把应用场景写出来呀,一行一行的读,300个2G的文件,无论如何都慢。根据你的应用场景,大家会拿出意见的,比如全文检索,多线程,预读取之类的。
时间: 2025-01-30 22:51:32