Kotlin:
Чтение текстового файла
Как это сделать:
В Kotlin вы можете легко прочитать текстовый файл, используя функцию readLines()
или блок useLines
.
import java.io.File
fun main() {
// Чтение всех строк сразу
val lines = File("example.txt").readLines()
lines.forEach { line ->
println(line)
}
// Более эффективно для больших файлов
File("example.txt").useLines { lines ->
lines.forEach { line ->
println(line)
}
}
}
Пример вывода (предполагая, что example.txt
содержит две строки с “Hello” и “World”):
Hello
World
Подробнее
Исторически сложилось так, что чтение файлов в Java могло быть многословным и неуклюжим. С Kotlin стандартная библиотека предоставляет удобные расширения, чтобы сделать чтение файлов проще.
Есть альтернативы для чтения файлов в Kotlin:
readText()
читает весь контент файла вString
.bufferedReader()
предоставляетBufferedReader
, который позволяет решать более сложные задачи, например, чтение огромных файлов без излишнего потребления памяти.
С точки зрения реализации, когда вы используете useLines
, это обеспечивает закрытие файла после выполнения, предотвращая потенциальные утечки памяти. Это функциональный подход, который рекомендуется в Kotlin для эффективного управления ресурсами.
См. также
- Документация Kotlin по чтению файлов: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-file/
- Документация
BufferedReader
для более сложных случаев: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-buffered-reader/