Melhor maneira de traduzir esse código java no kotlin

URL url = new URL(urlSpec);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
InputStream in = connection.getInputStream();
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = in.read(buffer)) > 0) {
    out.write(buffer, 0, bytesRead);
}
out.close();

Estou especialmente curioso sobre esta parte

while(bytesRead = in.read(buffer))

Sabemos que as atribuições são tratadas como instruções no kotlin enquanto no java são tratadas como expressões, portanto, essa construção só é possível em java.

Qual é a melhor maneira de traduzir esse código java no kotlin?

questionAnswers(3)

yourAnswerToTheQuestion