在此程序中,您將學(xué)習(xí)使用Kotlin中的InputStreamReader將輸入流轉(zhuǎn)換為字符串。
import java.io.* fun main(args: Array<String>) { 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) }
運(yùn)行程序時(shí),輸出為:
Hello there!
在以上程序中,輸入流是從String創(chuàng)建的,并存儲(chǔ)在變量stream中。我們還需要一個(gè)字符串生成器sb來(lái)從流中創(chuàng)建字符串。
然后,我們從InputStreamReader創(chuàng)建一個(gè)緩沖讀取器br來(lái)讀取流中的行。使用while循環(huán),我們讀取每一行并將其附加到字符串構(gòu)建器中。最后,我們關(guān)閉了bufferedReader。
因?yàn)閞eader可以?huà)伋鯥OException,所以我們?cè)趍ain函數(shù)中將拋出IOException設(shè)置為
public static void main(String[] args) throws IOException
這是等效的Java代碼:將InputStream轉(zhuǎn)換為String的Java程序。