Copiando toda la carpeta con su contenido de los activos a los archivos internos de la aplicación /

Por favor, sugiéreme la mejor manera de copiar una carpeta de los activos a / data / data / my_app_pkg / files.

La carpeta de activos (www) contiene archivos y subcarpetas. Que quiero copiar completamente a los archivos / de mi ruta de la aplicación interna mencionada.

Soy capaz de copiar un archivo de los activos a los archivos de la aplicación interna / ruta, pero no puede hacer lo mismo en caso de copiar la carpeta, incluso assetmanager.list no me está ayudando, ya que es copiar sólo los archivos, pero no Los directorios / subcarpetas.

Por favor amablemente me sugieren la mejor manera de hacer lo que quiero

    Espero que el uso completo a usted bajo el código: –

    Copia los archivos de una carpeta de la tarjeta SD en otra carpeta de la tarjeta SD

    Bienes

    AssetManager am = con.getAssets("folder/file_name.xml"); public static void copyDirectoryOneLocationToAnotherLocation(File sourceLocation, File targetLocation) throws IOException { if (sourceLocation.isDirectory()) { if (!targetLocation.exists()) { targetLocation.mkdir(); } String[] children = sourceLocation.list(); for (int i = 0; i < sourceLocation.listFiles().length; i++) { copyDirectoryOneLocationToAnotherLocation(new File(sourceLocation, children[i]), new File(targetLocation, children[i])); } } else { InputStream in = new FileInputStream(sourceLocation); OutputStream out = new FileOutputStream(targetLocation); // Copy the bits from instream to outstream byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); } } 

    Espero que esto ayude

     private void getAssetAppFolder(String dir) throws Exception{ { File f = new File(sdcardlocation + "/" + dir); if (!f.exists() || !f.isDirectory()) f.mkdirs(); } AssetManager am=getAssets(); String [] aplist=am.list(dir); for(String strf:aplist){ try{ InputStream is=am.open(dir+"/"+strf); copyToDisk(dir,strf,is); }catch(Exception ex){ getAssetAppFolder(dir+"/"+strf); } } } public void copyToDisk(String dir,String name,InputStream is) throws IOException{ int size; byte[] buffer = new byte[2048]; FileOutputStream fout = new FileOutputStream(sdcardlocation +"/"+dir+"/" +name); BufferedOutputStream bufferOut = new BufferedOutputStream(fout, buffer.length); while ((size = is.read(buffer, 0, buffer.length)) != -1) { bufferOut.write(buffer, 0, size); } bufferOut.flush(); bufferOut.close(); is.close(); fout.close(); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.