Метод readLine
Метод readLine класса BufferedReader читает
одну строку текста из входного потока и возвращает её
в виде строки. Строкой считается последовательность
символов, завершающаяся символом перевода строки
\n, возвратом каретки \r или их комбинацией
\r\n. Сами управляющие символы конца строки
в результат не включаются. Метод не принимает
параметров. Если достигнут конец потока, метод
возвращает null. При возникновении ошибки
ввода-вывода выбрасывается исключение IOException.
Поскольку метод возвращает null в конце потока,
его удобно использовать в цикле while для
построчного чтения всего файла или потока ввода.
Синтаксис
reader.readLine()
Пример
Давайте прочитаем первую строку из буферизованного
потока, созданного на основе строки "abcde\n12345":
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
public class Main
{
public static void main(String[] args) throws IOException
{
StringReader sr = new StringReader("abcde\n12345");
BufferedReader reader = new BufferedReader(sr);
String res = reader.readLine();
System.out.println(res);
reader.close();
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте прочитаем все строки из потока в цикле,
пока метод readLine не вернёт null:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
public class Main
{
public static void main(String[] args) throws IOException
{
StringReader sr = new StringReader("abcde\n12345\nHello");
BufferedReader reader = new BufferedReader(sr);
String line;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
reader.close();
}
}
Результат выполнения кода:
"abcde"
"12345"
"Hello"
Пример
Давайте посчитаем количество строк в потоке,
используя метод readLine в цикле:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
public class Main
{
public static void main(String[] args) throws IOException
{
StringReader sr = new StringReader("abcde\n12345\nHello\nWorld");
BufferedReader reader = new BufferedReader(sr);
int count = 0;
while (reader.readLine() != null)
{
count++;
}
System.out.println(count);
reader.close();
}
}
Результат выполнения кода:
4
Смотрите также
-
класс
BufferedReader,
который буферизует чтение символов -
метод
lines,
который возвращает поток строк -
класс
Reader,
который является базовым для чтения символов -
метод
read,
который читает один символ из потока