Java android中的connection.getContentLength()返回-1

Java android中的connection.getContentLength()返回-1,java,android,kotlin,Java,Android,Kotlin,这是我的kotlin代码,位于override fun Doin Background val url = URL(f_url[0]) val connection = url.openConnection() connection.connect() // getting file length val lengthOfFile = connection.getContentLength() println(le

这是我的kotlin代码,位于
override fun Doin Background

val url = URL(f_url[0])
        val connection = url.openConnection()
        connection.connect()
        // getting file length
        val lengthOfFile = connection.getContentLength()

        println(lengthOfFile.toString()+" is the length")// this returns -1
这是我的java代码,在
protectedstringdoinbackground(String…arg0)

我在一两个月前就注意到了这个错误

由于这个问题,我无法实现水平进度条

我编写了与纯java独立类相同的代码,并分别进行了测试(没有android),运行良好

此错误仅出现在Android Kotlin和Java中


请帮助

您没有读取输入流。这应该起作用:

val url = URL("https://www.google.com")
val connection = url.openConnection() as? HttpURLConnection ?: return
connection.connect()

val inputStream = connection.inputStream
val content = inputStream.bufferedReader().use { it.readText() }

println("${content.length} is the length")

您没有读取输入流。这应该起作用:

val url = URL("https://www.google.com")
val connection = url.openConnection() as? HttpURLConnection ?: return
connection.connect()

val inputStream = connection.inputStream
val content = inputStream.bufferedReader().use { it.readText() }

println("${content.length} is the length")

您的错误是什么?长度返回为-1。这完全不是错误。检查下载URL是否有效。您的错误是什么?长度返回为-1。这完全不是错误。检查下载URL是否有效。这个答案在kotlin中有效,但我仍然感到困惑,因为我的代码中突然出现了这种行为。因为在这个答案在kotlin生效之前的几个月,它一直运行良好,但我仍然感到困惑,因为我的这个行为突然出现在我的代码中。因为它在几个月前还可以正常工作