Como ler todo o conteúdo de um InputStream para uma string em Kotlin?
Olá a todos! Recentemente comecei a estudar Kotlin e me deparei com a seguinte tarefa: preciso ler dados de um InputStream (por exemplo, de um arquivo ou resposta de rede) e convertê-los em uma string String comum. O problema é que estou acostumado com Java, onde para isso é necessário escrever muito código boilerplate com loops, StringBuilder e buffers. Em Kotlin, parece que existem maneiras mais concisas, mas não consigo encontrar um exemplo claro.
Aqui está o que tentei:
```kotlin
fun readFromStream(stream: InputStream): String {
val bytes = stream.readBytes()
return String(bytes)
}
```
Mas isso causa confusão com a codificação, e não tenho certeza se é correto para streams grandes. Também ouvi falar de `.bufferedReader()` e `.readText()`, mas não entendo como aplicá-los corretamente.
Preciso de uma solução que:
1. Funcione para qualquer InputStream (arquivo, socket, ByteArrayInputStream).
2. Considere a codificação (UTF-8 por padrão).
3. Não exija gerenciamento manual de buffers ou loops.
4. De preferência com o mínimo de