Получить файл из URI содержимого

#android #android-fragments #android-activity #android-storage

#Android #android-фрагменты #android-активность #android-хранилище

Вопрос:

Как мы можем проанализировать CSV-файл из URI содержимого, возвращенного из ActivityResultContracts

    private val startActivity = registerForActivityResult(ActivityResultContracts.OpenDocument()){ uri ->
    uri?.let {
       
    }
}

 startActivity.launch(arrayOf("*/*"))
 

Ответ №1:

 uri?.let {
    var inputStream = contentResolver.openInputStream(fUri)
    //inputStream.read()
}
 

Комментарии:

1. Как мне проанализировать входной поток в файл csv. InputStream.read() возвращает Int

Ответ №2:

   fun readTextFile(source: Uri): String? {
        return try {
            val contentResolver = appContext.contentResolver
            val inputStream = contentResolver.openInputStream(source)?: return null
            val byteArray = inputStream.readBytes()
            inputStream.close()
            byteArray
            String(byteArray)
        } catch (e: IOException) {
            e.printStackTrace()
            throw e
        }
    }