Как добавить данные в файл в Android?

#android-studio #kotlin

Вопрос:

У меня есть функция, которая может записывать файл в файловую систему Android, но я хочу добавить данные. Моя функция создает новый файл каждый раз, когда я ее вызываю. Как я могу изменить, чтобы данные были добавлены в файл? Спасибо

забавный сохраненный документ(контекст : Контекст, имя файла: Строка, текст : Строка): Логический {

 try {
    val collection = MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)
    val dirDest = File(Environment.DIRECTORY_DOCUMENTS, context.getString(R.string.app_name))    // subfolder with name of the App
    //val date = System.currentTimeMillis()       // current datetime

    val contentValues = ContentValues().apply {
        put(MediaStore.MediaColumns.DISPLAY_NAME, fileName)
        //put(MediaStore.MediaColumns.MIME_TYPE, "application/txt")
        //put(MediaStore.MediaColumns.DATE_ADDED, date)
        //put(MediaStore.MediaColumns.DATE_MODIFIED, date)
        put(MediaStore.MediaColumns.RELATIVE_PATH, "$dirDest${File.separator}")
        put(MediaStore.Files.FileColumns.IS_PENDING, 1)
    }

    val imageUri = context.contentResolver.insert(collection, contentValues)

    imageUri?.let { uri ->
        //context.contentResolver.openOutputStream(uri, "w").use { out -> out?.write(text.toByteArray()) }      // write
        context.contentResolver.openOutputStream(uri, "wa").use { out -> out?.write(text.toByteArray()) }   // append
        contentValues.clear()
        contentValues.put(MediaStore.Files.FileColumns.IS_PENDING, 0)
        context.contentResolver.update(uri, contentValues, null, null)
    }
    return(true)
}

catch (e: FileNotFoundException) {
    return(false)
}
 

}