Функция readLines

Функция readLines читает все строки из файла и возвращает их в виде списка List<String>. Каждый элемент списка представляет одну строку файла. Символы перевода строки при этом не включаются в результат. По умолчанию используется кодировка UTF-8.

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun File.readLines(): List<String>
kotlinfun File.readLines(charset: Charset): List<String>

Пример

Прочитаем все строки из файла data.txt:

kotlinval file = File("data.txt")
val lines: List<String> = file.readLines()

for (line in lines) {
  println(line)
}

Результат выполнения кода для файла с содержимым:

kotlinline one
line two
line three
kotlinList<String> ['line one', 'line two', 'line three']

Пример

Прочитаем все строки из файла с указанием кодировки Charsets.ISO_8859_1:

kotlinval file = File("data.txt")
val lines = file.readLines(Charsets.ISO_8859_1)
println(lines)

Результат выполнения кода:

kotlinList<String> ['line one', 'line two', 'line three']

Пример

Получим количество строк в файле:

kotlinval file = File("data.txt")
val lineCount = file.readLines().size
println("File contains $lineCount lines")

Результат выполнения кода:

kotlinString "File contains 3 lines"

Пример

Проверим, содержит ли файл определенную строку:

kotlinval file = File("data.txt")
val containsHello = file.readLines().any { it.contains("hello") }
println("File contains 'hello': $containsHello")

Результат выполнения кода:

kotlinString "File contains 'hello': false"

Примечания

Функция readLines читает весь файл в память сразу, что может быть неэффективно для больших файлов. Для обработки больших файлов построчно рекомендуется использовать forEachLine или useLines.

Если файл не существует, будет выброшено исключение NoSuchFileException.

Смотрите также

  • функцию forEachLine,
    которая обрабатывает строки файла построчно
  • функцию useLines,
    которая предоставляет последовательность строк для обработки
  • функцию readText,
    которая читает весь файл как одну строку
  • функцию writeLines,
    которая записывает список строк в файл