Более быстрый способ чтения файла

Я работаю над программой, которая имеет около 400 входных файлов и около 40 выходных файлов. Это просто: он читает каждый входной файл и генерирует новый файл, размер которого намного больше (на основе алгоритма).

Я использую метод read () из BufferedReader:

String encoding ="ISO-8859-1";
FileInputStream fis = new FileInputStream(nextFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, encoding));
char[] buffer = new char[8192] ;

Для чтения входных файлов я используя это:

private String getNextBlock() throws IOException{
    boolean isNewFile = false;

    int n = reader.read(buffer, 0, buffer.length);
    if(n == -1) {
        return null;
    } else {
        return new String(buffer,0,n);
    }
}

С каждым блоком я проверяю (например, ищу строку внутри блока), а затем записываю ее в файл:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
        new FileOutputStream("fileName"), encoding));

writer.write(textToWrite);

Проблема в том, что это занимает около 12 минут. Я пытаюсь найти что-то еще гораздо быстрее. У кого-нибудь есть идеи по поводу чего-нибудь получше?

Спасибо.

9
задан Simulant 16 August 2016 в 18:23
поделиться