Функция readText
Функция readText расширения класса File
читает все содержимое файла и возвращает его в виде
одной строки String. По умолчанию используется
кодировка UTF-8, но можно указать другую кодировку
через параметр charset.
Импорт
import java.io.File
Синтаксис
fun File.readText(charset: Charset = Charsets.UTF_8): String
Пример
Прочитаем содержимое файла data.txt
с использованием кодировки UTF-8 по умолчанию:
val file = File("data.txt")
val content: String = file.readText()
println(content)
Результат выполнения кода:
String "Hello, World!\nThis is text file."
Пример
Прочитаем содержимое файла data.txt
с указанием кодировки UTF-16:
val file = File("data.txt")
val content: String = file.readText(Charsets.UTF_16)
println(content)
Результат выполнения кода:
String "Hello, World!\nThis is text file."
Пример
Обработаем возможное исключение IOException
при чтении файла:
val file = File("data.txt")
try {
val content: String = file.readText()
println(content)
} catch (e: IOException) {
println("Error reading file: ${e.message}")
}
Результат выполнения кода при отсутствии файла:
String "Error reading file: data.txt (No such file or directory)"
Пример
Используем функцию readText вместе с
другими операциями для обработки содержимого файла:
val 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":
String "Sum of numbers: 60"
Смотрите также
-
функцию
readLines,
которая читает файл построчно и возвращает список строк -
функцию
writeText,
которая записывает строку в файл -
функцию
forEachLine,
которая обрабатывает каждую строку файла через callback-функцию -
функцию
bufferedReader,
которая создает буферизованный reader для эффективного чтения