Функция readText

Функция readText расширения класса File читает все содержимое файла и возвращает его в виде одной строки String. По умолчанию используется кодировка UTF-8, но можно указать другую кодировку через параметр charset.

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun File.readText(charset: Charset = Charsets.UTF_8): String

Пример

Прочитаем содержимое файла data.txt с использованием кодировки UTF-8 по умолчанию:

kotlinval file = File("data.txt")
val content: String = file.readText()
println(content)

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

kotlinString "Hello, World!\nThis is text file."

Пример

Прочитаем содержимое файла data.txt с указанием кодировки UTF-16:

kotlinval file = File("data.txt")
val content: String = file.readText(Charsets.UTF_16)
println(content)

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

kotlinString "Hello, World!\nThis is text file."

Пример

Обработаем возможное исключение IOException при чтении файла:

kotlinval file = File("data.txt")

try {
  val content: String = file.readText()
  println(content)
} catch (e: IOException) {
  println("Error reading file: ${e.message}")
}

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

kotlinString "Error reading file: data.txt (No such file or directory)"

Пример

Используем функцию readText вместе с другими операциями для обработки содержимого файла:

kotlinval file = File("numbers.txt")
val content = file.readText()
val numbers = content.split("\n").map { it.toIntOrNull() ?: 0 }
val sum = numbers.sum()

println("Sum of numbers: $sum")

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

kotlinString "Sum of numbers: 60"

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

  • функцию readLines,
    которая читает файл построчно и возвращает список строк
  • функцию writeText,
    которая записывает строку в файл
  • функцию forEachLine,
    которая обрабатывает каждую строку файла через callback-функцию
  • функцию bufferedReader,
    которая создает буферизованный reader для эффективного чтения