In dit programma leer je om een inputstroom naar een string te converteren met InputStreamReader in Kotlin.
Voorbeeld: converteer InputStream naar String
import java.io.* fun main(args: Array) ( val stream = ByteArrayInputStream("Hello there!".toByteArray()) val sb = StringBuilder() var line: String? val br = BufferedReader(InputStreamReader(stream)) line = br.readLine() while (line != null) ( sb.append(line) line = br.readLine() ) br.close() println(sb) )
Wanneer u het programma uitvoert, is de uitvoer:
Hallo daar!
In het bovenstaande programma wordt de invoerstroom gemaakt op basis van een string en opgeslagen in een variabele stroom. We hebben ook een stringbuilder sb nodig om de string uit de stream te maken.
Vervolgens hebben we een gebufferde lezer gemaakt br van de InputStreamReader
om de regels uit de stream te lezen. Met behulp van een while-lus lezen we elke regel en voegen deze toe aan de stringbuilder. Ten slotte hebben we de bufferedReader gesloten.
Omdat de lezer kan gooien IOException
, hebben we de worpen IOException in de hoofdfunctie als:
public static void main (String () args) gooit IOException
Hier is de equivalente Java-code: Java-programma om InputStream naar String te converteren.