Сначала я использовал функцию readLine() из BufferedReader, но я прочитал в Интернете, что BufferedReader работает медленно при чтении файлов.
После этого я попытался использовать FileInputStream вместе с FileChannel и MappedByteBuffer, но в этом случае нет функции, похожей на readLine(), поэтому я ищу в своем тексте разрыв строки и обработать его:
Код: Выделить всё
try {
FileInputStream f = new FileInputStream(file);
FileChannel ch = f.getChannel( );
MappedByteBuffer mb = ch.map(FileChannel.MapMode.READ_ONLY, 0L, ch.size());
byte[] bytes = new byte[1024];
int i = 0;
while (mb.hasRemaining()) {
byte get = mb.get();
if(get == '\n') {
if(ra.run(new String(bytes)))
cnt++;
for(int j = 0; j