在此程序中,您将学习使用Kotlin中的InputStreamReader将输入流转换为字符串。
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)
}运行程序时,输出为:
Hello there!
在以上程序中,输入流是从String创建的,并存储在变量stream中。我们还需要一个字符串生成器sb来从流中创建字符串。
然后,我们从InputStreamReader创建一个缓冲读取器br来读取流中的行。使用while循环,我们读取每一行并将其附加到字符串构建器中。最后,我们关闭了bufferedReader。
因为reader可以抛出IOException,所以我们在main函数中将抛出IOException设置为
public static void main(String[] args) throws IOException
这是等效的Java代码:将InputStream转换为String的Java程序。