更新:感谢在更详细的问题中指出了anwser,为了在这里完成这个问题,答案是:
while ((reader.read(buffer).let {pointer = it; it != -1}) ) {
writer.write(buffer, 0, pointer)
}
尝试在while循环中从缓冲区读取内容,在Java中完成一行:
while ((pointer = reader.read(buffer)) != -1)
但是在kotling中它会出错:错误:(46,21)分配不是表达式,在此上下文中只允许使用表达式
如何用kotlin做同样的事情?
val reader = BufferedReader(InputStreamReader(inputStream, "UTF-8"))
var pointer: Int
while ((pointer = reader.read(buffer)) != -1) {
writer.write(buffer, 0, pointer)
}