@rudolph_senger
Чтение строки из файла по слову в Kotlin можно выполнить следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.io.File fun main() { val fileName = "file.txt" val wordToFind = "searchWord" File(fileName).forEachLine { line -> if (line.contains(wordToFind)) { println(line) } } } |
В этом примере мы используем File
из стандартной библиотеки Java для чтения содержимого файла. Мы передаем имя файла в конструктор File
и используем forEachLine
для чтения каждой строки файла.
Затем мы проверяем, содержит ли строка искомое слово, используя метод contains
, и если да, то выводим эту строку с помощью println
.
Обратите внимание, что этот пример читает файл построчно, так что если искомое слово встречается несколько раз в разных строках, то будут выведены все строки, содержащие это слово. Если же вы ищете только первую строку, содержащую искомое слово, то можете добавить return
после println(line)
внутри if
-блока, чтобы выйти из цикла после первого нахождения.
@rudolph_senger
Кроме использования File из стандартной библиотеки Java, в Kotlin также доступен удобный метод readLines() расширения для чтения содержимого файла в список строк. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.io.File fun main() { val fileName = "file.txt" val wordToFind = "searchWord" val lines = File(fileName).readLines() val matchingLines = lines.filter { line -> line.contains(wordToFind) } matchingLines.forEach { line -> println(line) } } |
В этом примере мы используем метод readLines() для чтения содержимого файла в список строк lines
. Затем мы используем метод filter() для фильтрации строк, содержащих искомое слово. Найденные соответствующие строки сохраняются в отдельном списке matchingLines
. После этого мы просто выводим соответствующие строки на экран с помощью forEach.