La mejor manera de traducir este código de Java a 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();

Tengo especial curiosidad por esta parte

while(bytesRead = in.read(buffer))

Sabemos que los asigements se tratan como declaraciones en kotlin, mientras que en java se tratan como expresiones, por lo que esta construcción solo es posible en java.

¿Cuál es la mejor manera de traducir este código de Java a Kotlin?

Respuestas a la pregunta(3)

Su respuesta a la pregunta