Android 获取assets文件夹下面的文件路径
用加载本地web资源文件暴力获取的方式:
String path = "file:///android_asset/平舆.tile";
结果在这里不可行,在网上查询了很多资料,思路大致就是先把文件复制到缓存中,然后再获取文件的路径。代码如下所示:"平舆.tile"是assets文件夹下面的文件,我这里的文件路径是:我这里直接是一级目录,如果目录是多个层级,也只要用最终层级就可以了,比如我这里就是平舆.tile
String path=copyAssetGetFilePath("平舆.tile");
获取路径代码
private String copyAssetGetFilePath(String fileName) {try {File cacheDir = getContext().getCacheDir();if (!cacheDir.exists()) {cacheDir.mkdirs();}File outFile = new File(cacheDir, fileName);if (!outFile.exists()) {boolean res = outFile.createNewFile();if (!res) {return null;}} else {if (outFile.length() > 10) {//表示已经写入一次return outFile.getPath();}}InputStream is = getContext().getAssets().open(fileName);FileOutputStream fos = new FileOutputStream(outFile);byte[] buffer = new byte[1024];int byteCount;while ((byteCount = is.read(buffer)) != -1) {fos.write(buffer, 0, byteCount);}fos.flush();is.close();fos.close();return outFile.getPath();} catch (IOException e) {e.printStackTrace();}return null;
}
最终可以把path处理成File;
File file = new File(path);
问题总算是解决了。
Android 获取assets文件夹下面的文件路径相关推荐
- Android开发:第四日番外——Assets文件夹和RAW文件夹区别
话说上回说到SQLite数据库,其中涉及到把已经设计好的数据库打包到APK中,提到可以放置在Assert文件夹或者RAW文件夹中,那么两者到底有什么区别呢?让我们来探究一下. 一.res/raw和as ...
- android 读取assets文件夹下的文件资源
今天,简单讲讲如何读取assets文件夹下的文件. Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.Java里面自动生成该资源文件的ID ...
- android 从assets和res中读取文件(转)
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译, ...
- Android从assets和res中读取文件
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译, ...
- android下载zip到assets,Android将assets中的zip压缩文件解压到SD卡
程序首先要获取写外部存储权限: 程序: package com.hu.andstar; import java.io.File; import java.io.FileOutputStream; im ...
- Assets文件夹和RAW文件夹区别
转载自 http://www.cnblogs.com/pang123hui/archive/2013/11/06/3411523.html – 感谢作者的分享 一.res/raw和assets的相同点 ...
- Android读取asserts和raw文件夹下的文件
Android读取asserts和raw文件夹下的文件 经常需要用到读取"/res/raw"和"/asserts"文件夹下的文件,索性写成工具类方便以后使用. ...
- Android中asset文件夹和raw文件夹区别(转载)
原文地址:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html *res/raw和assets的相同点: 1.两者目录下的文 ...
- Android中asset文件夹和raw文件夹区别
*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点: 1.res/raw中的文件会被映射到 ...
- < Android数据存储> 任务二 应用程序数据文件夹里的文件读写
:zh]Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法 ...
最新文章
- android专栏目录
- BootStrap学习笔记,优缺点总结
- endnotex9如何导入caj中文文献_EndNote系列教程(二)——数据库的建立及文献的筛选...
- [转]UTF-8 GBK UTF8 GB2312 之间的区别和关系
- 使用Hybris Commerce User API读取用户信息时,电话字段没有返回
- 技术动态 | 人工智能开源软件发展现状连载——知识图谱开源软件
- ORACLE时间常用函数(字段取年、月、日、季度)
- c9, Performance Monitor Control Register
- 程序员不是神,心态决定一切
- python处理表格很厉害么_还在用excel?太落伍了,现在都用Python和Jupyter处理数据了...
- linux 中rpc 服务器,实现Linux环境下编程RPC通信之个人经验总结(转)
- arm汇编指令集_汇编入门第一篇,小白也能看懂
- 小课堂week17 编程范式巡礼第二季 并发那些事
- ANSYS ICEM CFD二维结构网络生成实例——流动传热
- DOM初探(17)——查看元素的尺寸与位置
- Js push整个数组
- android 高德地图动画,Android 高德地图上自定义动画
- dakai微信小程序 ios_苹果6s微信小程序进不去 苹果小程序怎么弄出来
- 腾讯开放平台荣获“中国互联网生态价值之星”
- C#学生管理系统——连接Access数据库(登陆功能)