前言
Android应用开发,资源文件一般是放在assets路径下,这些资源文件可以是:
- 图片文件(jpg png bmp)
- 音频文件(wav mp3)
- 文本文件(txt)
- 模型文件
应用启动之后,需要使用这些资源文件,就需要将这些资源文件拷贝出来,一般是拷贝到应用的私有路径下面。
JAVA代码
/**
* 拷贝assets文件
*/
public static boolean copyFileIfNeed(Context context, String srcFilePath, String desFilePath) {
Log.d(TAG, "copyFileIfNeed(): srcFilePath= " + srcFilePath + " , desFilePath= " + desFilePath);
File desFile = new File(desFilePath);
try {
if (desFile.exists()) {
desFile.delete();
}
desFile.createNewFile();
InputStream in = context.getApplicationContext().getAssets().open(srcFilePath);
if (in == null) {
Log.e(TAG, "copyFileIfNeed(): the src is NOT existed, FILE= " + srcFilePath);
return false;
}
OutputStream out = new FileOutputStream(desFile);
byte[] buffer = new byte[4096];
int n;
int sum = 0;
while ((n = in.read(buffer)) > 0) {
sum += n;
Log.d(TAG, "copyFileIfNeed(): copy SIZE= " + sum + " B");
out.write(buffer, 0, n);
out.flush();
}
in.close();
in = null;
out.close();
out = null;
} catch (IOException e) {
Log.e(TAG, "copyFileIfNeed(): " + e);
desFile.delete();
return false;
}
return true;
}
觉得有用的话,可以给我点奖励哦!(微信)