2015-11-21 3 views
2

Как readLine итерации для кода ниже? Я имею в виду, что нет индекса, который увеличивается, как итерация через массив, так как это происходит из одной строки в другую? Благодаря!Как readLine итерации в Java?

BufferedReader br= new BufferedReader(new FileReader (file)); 
while (true) { 
    String s = br.readLine(); 
    if (s == null) 
     break; 
    ... 
} 

код ниже работает так же, как и выше.

String s; 
while ((s = br.readLine()) != null) { ... } 

ответ

2

BufferedReader читает файл как поток последовательных символов. Поэтому нет необходимости выставлять указатель текущего местоположения. С другой стороны, считывает файл не последовательно, поэтому доступен способ, показывающий текущее местоположение файла, то есть getFilePointer(), и может использоваться для получения информации о текущем местоположении файла.

Так что если ваше приложение требует знания текущего местоположения указателя на файл, вы можете использовать RandomAccessFile.

+0

Спасибо за этот ответ. :) –

2

Там есть внутренний указатель в BufferedReader, что продвигается с каждым вызовом read(...) или readLine().