Несмотря на название, очень похожее на другие в Stack Overflow, ни одна из встреченных мной возможностей мне не подходит.
Я загружаю файл с помощью DownloadManager (я выбрал этот способ из-зафакт, что я новичок в android и kotlin, и мне показалось, что я могу скачать файл через DM и затем скопировать его во внутреннее хранилище + удалить его из папки Download, чем вручную управлять созданием потоков для обработки загрузки непосредственно во внутреннее хранилище).
Тогда я пытаюсь переместить его во внутреннюю память.Файлы могут быть изображениями, но в основном mp3-файлами.Сейчас я разрабатываю часть для чтения mp3.Загрузка в порядке, но у меня есть проблемы с копированием файла во внутреннее хранилище. Вот мой код:
if(myDownloadKind == "I"){ // string "I" stands for "internal"
println("myTag - into BroadCast for inner")
var myStoredFile:String = uri.toString()
println("mytag - myStoredFile: $myStoredFile")
// here I try to convert the mp3 file into a ByteArray to copy it
var data:ByteArray = Files.readAllBytes(Paths.get(myStoredFile))
println("myTag - data: $data")
var myOutputStream: FileOutputStream
// write file in internal storage
try {
myOutputStream = context.openFileOutput(myStoredFile, Context.MODE_PRIVATE)
myOutputStream.write(data) // NOT WORKING!!
}catch (e: Exception){
e.printStackTrace()
}
} else if (myDownloadKind == "E"){
// now this doesn't matter, Saving in external storage is ok
}
Я действительно не могу найти документацию начального уровня (для noob!), Поэтому я 'Я борюсь с очень простой вещью, я думаю ...