Android编程读取Assets所有文件并存入sdcard Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法
lee0oo0 人气:0想了解Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法的相关内容吗,lee0oo0在本文为您仔细讲解Android编程读取Assets所有文件并存入sdcard的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,读取Assets,存入sdcard,下面大家一起来学习吧。
本文实例讲述了Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法。分享给大家供大家参考,具体如下:
private void CopyAssets(String assetDir, String dir) { String[] files; try { // 获得Assets一共有几多文件 files = this.getResources().getAssets().list(assetDir); } catch (IOException e1) { return; } File mWorkingPath = new File(dir); // 如果文件路径不存在 if (!mWorkingPath.exists()) { // 创建文件夹 if (!mWorkingPath.mkdirs()) { // 文件夹创建不成功时调用 } } for (int i = 0; i < files.length; i++) { try { // 获得每个文件的名字 String fileName = files[i]; // 根据路径判断是文件夹还是文件 if (!fileName.contains(".")) { if (0 == assetDir.length()) { CopyAssets(fileName, dir + fileName + "/"); } else { CopyAssets(assetDir + "/" + fileName, dir + "/" + fileName + "/"); } continue; } File outFile = new File(mWorkingPath, fileName); if (outFile.exists()) outFile.delete(); InputStream in = null; if (0 != assetDir.length()) in = getAssets().open(assetDir + "/" + fileName); else in = getAssets().open(fileName); OutputStream out = new FileOutputStream(outFile); // Transfer bytes from in to out byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
希望本文所述对大家Android程序设计有所帮助。
加载全部内容