什么是在java中扫描非常大的文件的最快方法?

cha*_*cko 6 java performance string-search

想象一下,我有一个非常大的文本文件.表现真的很重要.

我想要做的就是扫描它以寻找某个字符串.也许我想算一下我有多少,但这不是重点.

关键是:什么是最快的方式?

我不关心它需要快速的维护.

快速是关键.

Joe*_*oel 16

对于一次性搜索,请使用扫描仪,如此处所示

一种比indexOf()快得多的简单技术是使用Scanner,方法是findWithinHorizo​​n().如果使用带有File对象的构造函数,Scanner将在内部创建一个FileChannel来读取该文件.对于模式匹配,它最终将使用Boyer-Moore算法进行有效的字符串搜索.