#android #kotlin
#Android #kotlin
Вопрос:
В настоящее время я создаю приложение для Android, которому необходимо читать кавычки в текстовом файле. У меня есть код для чтения всего из моего файла и отображения его в тосте, но я не знаю, как я могу просто прочитать из него определенную строку (например. отображение только строки 5 в тосте).
Вот мой код:
var string: String? = ""
val stringBuilder = StringBuilder()
val `is`: InputStream = this.resources.openRawResource(R.raw.quotes)
val reader = BufferedReader(InputStreamReader(`is`))
while (true) {
try {
if (reader.readLine().also { string = it } == null) break
} catch (e: IOException) {
e.printStackTrace()
}
stringBuilder.append(string).append("n")
Log.d("strings", stringBuilder.toString())
}
`is`.close()
Toast.makeText(baseContext, stringBuilder.toString(),
Toast.LENGTH_LONG).show()
Любая помощь будет принята с благодарностью, и заранее благодарю вас за любую помощь!
Ответ №1:
Вы можете использовать useLines
, который позволяет вам работать с последовательностью строк из лямбда-выражения и автоматически закрывать поток после этого:
val fifthLine = resources.openRawResource(R.raw.quotes)
.bufferedReader().useLines { it.elementAtOrNull(4) ?: "" }