См. Вопрос и ответ здесь ... Android: Как создать каталог на SD-карте и скопировать на него файлы из / res / raw ??
РЕДАКТИРОВАТЬ : Думая об этом, я использую папку / assets, а не / res / raw.Это примерно то, что я делаю ...
Сначала получите действительную папку на внешнем хранилище (обычно на SD-карте) ...
File myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/com.mycompany.myApp/files");
Замените com.mycompany.myApp
в указанном выше пути наИмя пакета вашего приложения.
Затем следующее скопирует все файлы из папки ресурсов с именами файлов, начинающимися с «xyz», например, xyz123.txt, xyz456.xml и т. д.
try {
AssetManager am = getAssets();
String[] list = am.list("");
for (String s:list) {
if (s.startsWith("xyz")) {
Log.d(TAG, "Copying asset file " + s);
InputStream inStream = am.open(s);
int size = inStream.available();
byte[] buffer = new byte[size];
inStream.read(buffer);
inStream.close();
FileOutputStream fos = new FileOutputStream(myFilesDir + "/" + s);
fos.write(buffer);
fos.close();
}
}
}
catch (Exception e) {
// Better to handle specific exceptions such as IOException etc
// as this is just a catch-all
}
Обратите внимание, что вам потребуется следующее разрешение в файле AndroidManifest.xml ...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />