kotlinで、Androidアプリの assets
フォルダにあるファイルを外部ストレージ にコピーする方法です。
方法
//コピー先フォルダのパス
private val basePath = Environment.getExternalStorageDirectory().path + File.separator + "hoge"
/**
* アセットにあるファイルをストレージにコピーします
* @param context Context
* @param assetName コピーするアセットの名前
*/
fun copyAssetToExternalStorage(context: Context, assetName: String){
//上記フォルダパスにアセット名を含めたフルパス
val fullPath = basePath + File.separator + assetName
val dir = File(basePath)
if(!dir.exists()){
if(!dir.mkdirs()){
return
}
}
context.assets.open(assetName).use { inputStream ->
FileOutputStream(File(fullPath), false).use { outputStream ->
inputStream.copyTo(outputStream)
}
}
}