How to read a file from the Internet using coroutines?

Asynchronous or non-blocking programming is the new reality. When creating server-side, desktop or mobile applications, it’s important to provide an experience that is not only fluid from the user’s perspective, but scalable when needed.
Kotlin solves this problem in a flexible way by providing coroutine support at the language level and delegating most of the functionality to libraries.
Let say we have a file at certain URL and to read that file we are taking the help of Coroutines.
All you need to do is launch it within a coroutine context, like this
private suspend fun urlRead() = withContext(Dispatchers.IO) {
val url = URL(MY_URL)
val stream = url.openStream()
stream.read()
}
where MY_URL is the URL where file is located.then you call it like this
lifecycleScope.launch {
val v = urlRead()
// TODO; use v
}
thats it.
you can also view this reference.