Mam duży strumień tekstu wracającego z serwisu WWW REST i chciałbym zapisać go bezpośrednio do pliku. Jaki jest najprostszy sposób na zrobienie tego?Napisz duży strumień danych do pliku w Kotlin
Napisałem następujące rozszerzenie funkcji, które DZIAŁA. Ale nie mogę oprzeć się wrażeniu, że istnieje czystszy sposób robienia tego.
Uwaga: Miałem nadzieję, że do korzystania spróbować z zasobów auto zamknąć strumienia i złożyć
fun File.copyInputStreamToFile(inputStream: InputStream) {
val buffer = ByteArray(1024)
inputStream.use { input ->
this.outputStream().use { fileOut ->
while (true) {
val length = input.read(buffer)
if (length <= 0)
break
fileOut.write(buffer, 0, length)
}
fileOut.flush()
}
}
}
Zewnętrzne "użycie" wydaje się błędem. Zamykasz/pozbywasz się w innym zakresie niż ten, w którym 'inputStream' został otwarty. –