2014-02-12 2 views
-1

Какой самый быстрый способ прочитать текстовый файл для обработки? Вход в программу из файла должен быть в ascii, чтобы выполнить некоторую обработку текста. Который должен быть быстрее? Использование BufferedReader или BufferedInputStream?Самый быстрый способ прочитать текстовый файл

Пример:

in = new BufferedReader(new FileReader(inFileName)); 
char[] buffer = new char[8*1024]; 
while((len = in.read(buffer))>=0) { 
     //format text 
} 

OR 
in = new BufferedInputStream(new FileInputStream(inFileName)); 
byte[] buffer = new byte[8*1024]; 
while((len = in.read(buffer))>=0) { 
    String str = new String(bytes, "ISO-8859-1"); 
    char [] chars = str.toCharArray(); 
    //format text 
} 

Я приуроченная этот кусок кода и не мог видеть большую разницу. Мне было интересно, есть ли у кого-нибудь входные данные в зависимости от размера файла.

+0

Какой у вас размер? – noMAD

+1

Итак ... Почему бы вам не потратить время на использование ОГРОМНОГО файла? – paddy

+1

Размер файла - 1 МБ. – user3096748

ответ

0

Для 1 МБ файла это вряд ли имеет значение. Обе версии будут выполняться примерно через секунду. Я буду больше беспокоиться о создании дополнительных String и char[] во второй версии с точки зрения использования GC и памяти.

Смежные вопросы