Android递归拷贝assets资源到指定目录
来源:互联网 发布:云计算和大数据面试 编辑:程序博客网 时间:2024/05/22 11:05
本来递归拷贝文件夹是很容易的, 但是Android的assets提供的接口没有文件操作那么方便, 昨天写了一个方法来实现把assets资源拷贝到指定目录,
/** * copy assets to releaseDir with full path * * @author brian * @param context * @param assetsDir * @param releaseDir */ public static void releaseAssets(Context context, String assetsDir, String releaseDir) { if (TextUtils.isEmpty(releaseDir)) { return; } else if (releaseDir.endsWith("/")) { releaseDir = releaseDir.substring(0, releaseDir.length() - 1); } if (TextUtils.isEmpty(assetsDir) || assetsDir.equals("/")) { assetsDir = ""; } else if (assetsDir.endsWith("/")) { assetsDir = assetsDir.substring(0, assetsDir.length() - 1); } AssetManager assets = context.getAssets(); try { String[] fileNames = assets.list(assetsDir);//只能获取到文件(夹)名,所以还得判断是文件夹还是文件 if (fileNames.length > 0) {// is dir for (String name : fileNames) { if (!TextUtils.isEmpty(assetsDir)) { name = assetsDir + "/" + name;//补全assets资源路径 }// Log.i("", "brian name=" + name); String[] childNames = assets.list(name);//判断是文件还是文件夹 if (!TextUtils.isEmpty(name) && childNames.length > 0) { releaseAssets(context, name, releaseDir);//递归, 因为资源都是带着全路径, //所以不需要在递归是设置目标文件夹的路径 } else { InputStream is = assets.open(name); FileUtil.writeFile(releaseDir + "/" + name, is); } } } else {// is file InputStream is = assets.open(assetsDir); // 写入文件前, 需要提前级联创建好路径, 下面有代码贴出 FileUtil.writeFile(releaseDir + "/" + assetsDir, is); } } catch (Exception e) { e.printStackTrace(); } }级联创建folder
public static void checkFolderExists(String path) { File file = new File(path); if (file.exists() && !file.isDirectory() || !file.exists()) { file.mkdirs(); } }自己写的CSDN博客客户端
0 0
- Android递归拷贝assets资源到指定目录
- assets目录下资源拷贝到指定目录
- Android从Assets拷贝文件以及文件夹到指定目录
- cocos 拷贝Lua资源到android 工程assets目录
- Android 读取Assets资源文件或目录,并拷贝到其他目录下
- Android 拷贝assets目录下所有文件及文件夹到指定路径
- 从assets中拷贝from文件到指定目录下
- android拷贝assets目录下文件到其他目录
- Android复制Assets目录下的文件到指定目录
- Android 递归实现assets拷贝到sd卡
- Android-拷贝assets目录文件
- shell 递归函数---循环拷贝文件到指定目录
- Android assets目录资源读取
- Android 资源目录assets使用
- android读写assets目录资源
- 从assets拷贝数据库到file目录
- 拷贝文件到指定目录
- 拷贝文件到指定目录
- MIME详解
- Android Studio中使用gradle生成aar包
- 分类路由 无分类域间路由 IP地址
- 为什么C++编译器不支持模板头文件和实现代码分离的编译
- 第八章继承课后练习答案
- Android递归拷贝assets资源到指定目录
- Linux中C++基础
- CKPlayer视频播放器使用
- iOS应用数据存储的常用方式1
- iOS Extension Today 扩展真机不显示和错误can attach to it by selecting Debug > Attach to Process
- Yougth的最大化
- POJ-1840 Eqs Hash
- ThinkPad X1
- Fork/Join框架介绍