Android读取assets目录下文件数据内容
2015-09-06 18:23
567 查看
Android读取assets目录下文件数据内容
Android的体系架构设计中,assets目录下的数据内容(图片、文件等等)将不会被Android系统压缩、二次处理等,assets目录下的文件将保持原汁原味打包进Android的apk文件中,因此,利用Android assets这一点特性,根据项目开发的需要,在某种情况下,可以在assets目录下存放一些不希望被Android系统二次处理的原始文件,就像在PC开发时候直接针对硬盘上存放的文件内容进行读写一样读出原始数据。比如Android项目中有以下assets文件目录结构,如图:
现给出代码实例:
其中,this指针为当前的Context或者Activity。
Android的体系架构设计中,assets目录下的数据内容(图片、文件等等)将不会被Android系统压缩、二次处理等,assets目录下的文件将保持原汁原味打包进Android的apk文件中,因此,利用Android assets这一点特性,根据项目开发的需要,在某种情况下,可以在assets目录下存放一些不希望被Android系统二次处理的原始文件,就像在PC开发时候直接针对硬盘上存放的文件内容进行读写一样读出原始数据。比如Android项目中有以下assets文件目录结构,如图:
现给出代码实例:
public String readAsset() { AssetManager am = this.getAssets(); String[] path = null; try { // 列出files目录下的文件 path = am.list("files"); } catch (IOException e) { e.printStackTrace(); } String data = ""; // 遍历assets目录下,files文件夹下的所有文件,读取这些文件的数据并输出。 for (int i = 0; i < path.length; i++) { InputStream is = null; try { // 根据上文的 ‘files’+文件名,拼成一个路径,用AssetManager打开一个输入流,读写数据。 is = am.open("files/" + path[i]); } catch (IOException e) { e.printStackTrace(); } // 读取一个文件完成,加上换行符(主要是为了观察输出结果,无他)。 data = data + readDataFromInputStream(is) + "\n"; try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return data; } public String readDataFromInputStream(InputStream is) { BufferedInputStream bis = new BufferedInputStream(is); String str = "", s = ""; int c = 0; byte[] buf = new byte[64]; while (true) { try { c = bis.read(buf); } catch (IOException e) { e.printStackTrace(); } if (c == -1) break; else { try { s = new String(buf, 0, c, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } str += s; } } try { bis.close(); } catch (IOException e) { e.printStackTrace(); } return str; }
其中,this指针为当前的Context或者Activity。
相关文章推荐
- android中Handler中的obtainMessage()
- Android启动界面
- Android_ViewPager_实现多个图片水平滚动
- android 为一个apk设置多个ICON图标和执行入口
- android SDK manager 打开后获取不了版本列表
- android 好看的自定义日历
- Android推送通知指南
- Android Toast连续点击只弹一次
- android 自动输入完成提示 自定义适配器适用于自定义分隔符带中文的提示
- Android项目Ant常用命令
- 使用Intellij14导入Android Library工程
- Android把定时轮番放到ViewPager里面
- Android学习路线
- Handler 机制(一)
- Android实现Banner图片循环轮播
- Android 系统源码情景分析读书笔记(1)----开发Android 硬件访问服务
- 【Android开发坑系列】如何让Service尽可能存活
- android Bitmap与string互转
- Android改变TextView中部分字体颜色
- Android实例-操作摄像头(XE8+小米2)