Метод readAllLines
Метод readAllLines класса Files читает все строки
из файла и возвращает их в виде списка строк типа
List<String>. В первом параметре мы передаем путь
к файлу в виде объекта Path, во втором необязательном
параметре - кодировку Charset. Если кодировка не указана,
используется UTF-8. Метод выбрасывает исключение
IOException, поэтому его нужно обрабатывать или
пробрасывать.
Синтаксис
Files.readAllLines(path, [charset])
Пример
Давайте создадим файл и прочитаем все его строки:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class Main
{
public static void main(String[] args) throws IOException
{
Path path = Path.of("test.txt");
Files.writeString(path, "abcde\n12345\nhello");
List<String> res = Files.readAllLines(path);
System.out.println(res);
}
}
Результат выполнения кода:
[abcde, 12345, hello]
Пример
Давайте прочитаем файл с указанием кодировки
StandardCharsets.UTF_8 и выведем каждую строку
по отдельности:
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class Main
{
public static void main(String[] args) throws IOException
{
Path path = Path.of("test.txt");
Files.writeString(path, "abcde\n12345\nhello");
List<String> res = Files.readAllLines(path, StandardCharsets.UTF_8);
for (String line : res) {
System.out.println(line);
}
}
}
Результат выполнения кода:
"abcde"
"12345"
"hello"
Пример
Давайте узнаем количество строк в файле с помощью
метода size:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class Main
{
public static void main(String[] args) throws IOException
{
Path path = Path.of("test.txt");
Files.writeString(path, "abcde\n12345\nhello");
List<String> res = Files.readAllLines(path);
System.out.println(res.size());
}
}
Результат выполнения кода:
3
Смотрите также
-
класс
Files,
который содержит методы для работы с файлами -
метод
readString,
который читает весь файл в строку -
метод
readAllBytes,
который читает все байты из файла -
метод
writeString,
который записывает строку в файл