Welcome 微信登录

首页 / 移动开发 / Android / 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);elsein = getAssets().open(fileName);OutputStream out = new FileOutputStream(outFile);// Transfer bytes from in to outbyte[] 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相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android数据库操作技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。