ACTION_CREATE_DOCUMENT 根据 url 响应写一个 pdf 文件,android?

ACTION_CREATE_DOCUMENT write a pdf file from url response, android?

我正在使用共享存储来编写 pdf 文件。文件已创建,但它是 0 字节。 无法理解问题所在。

下面是我的代码

通过记录 inputStream.available() 检查输入流是否可访问 必须 >0

使用此逻辑将输入流写入输出流

byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, len);
}
outputStream.close()

感谢@blackapps 的评论才得以解决 删除了以下内容

urlConnection.setRequestMethod("GET")
urlConnection.setDoOutput(true)

正确的函数变为

fun writeFile(uri: Uri, docUrl: String) {
    val outputStream: OutputStream? =
        requireContext().contentResolver.openOutputStream(uri)
    if (outputStream != null) {
        val url =
            URL(docUrl)
        val urlConnection: HttpURLConnection =
            url.openConnection() as HttpURLConnection
        urlConnection.connect()

        val inputStream: InputStream = urlConnection.getInputStream()
        val buffer = ByteArray(1024 * 1024)
        var bufferLength = 0
        while (inputStream.read(buffer).also { bufferLength = it } > 0) {
            outputStream.write(buffer, 0, bufferLength)
        }
        outputStream.close()
    }
}