Как сохранить имя файла с расширением при копировании ресурсов из raw во внутреннее хранилище - PullRequest
0 голосов
/ 10 мая 2019

Когда мое приложение загружается, оно копирует некоторые сырые jpg-ресурсы во внутреннее хранилище. Это работает с использованием поля 'name', но я теряю расширение (".jpg"). Как я могу сделать это, используя имя файла, включая расширение?

package com.jasoncavinder.demoapp

import android.app.Application
import android.content.Context
import android.util.Log
import java.io.File
import com.jasoncavinder.demoapp.R

class DemoApplication : Application() {
    private val TAG by lazy { this::class.java.simpleName }
    override fun onCreate() {
        super.onCreate()


        // Copy demo files to internal storage if they do not exist yet
        var count = 0
        for (field in R.raw::class.java.fields) {
            // I would prefer .endsWith(".jpg") but ...
            if (field.name.startsWith("prefix"). 
                && !File(field.name).exists()
            ) {
                resources.openRawResource(field.getInt(field))
                    .copyTo(applicationContext.openFileOutput(field.name, Context.MODE_PRIVATE))
                count = count.inc()
            }
        }
        Log.d(TAG, "Copied %d picture to internal storage.".format(count))

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...