Android读取assets目录下文件数据内容

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读取assets目录下文件数据内容相关推荐

  1. Android:读取assets目录下文件(二)

    在上篇博客里,介绍了如何读取assets目录下的txt文件.在这里,介绍如何读取xml文件. xml文件内容如下: <?xml version="1.0" encoding= ...

  2. WebApp基础01-设置读取assets目录下文件

    要读取assets下的目录,只需要修改三个地方即可 1.res/layout/activity_main.xml 2.AndroidManifest.xml 3.src\com\example\lcy ...

  3. android assets 文件夹 复制,Android 中 Assets目录下 文件或文件夹的复制

    1.文件或文件夹的复制 /* * 下面两个方法不是AsyncTask的接口 * * copyFileOrDir 目录复制 * copyFile 文件复制 */ private void copyFil ...

  4. android 获取assets目录下文件的路径

    暴力直接获取 String path = "file:///android_asset/icon_wm.png"; 先把文件读成流,在转化地址 String path = null ...

  5. android读取mysql数据库文件_Android开发系列(十七):读取assets目录下的数据库文件...

    在做Android应用的时候,不可避免要用到数据库.但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客解决了我前面博客中 ...

  6. 安卓读取mysql数据库文件路径_Android开发实现读取assets目录下db文件的方法示例...

    本文实例讲述了Android开发实现读取assets目录下db文件的方法.分享给大家供大家参考,具体如下: 最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api ...

  7. Android复制Assets目录下的文件到/data/data目录

    目的 l  在项目开发时,尤其是游戏开发,有时候需要把特定的文件放在data/data目录下,比如sqlite数据库中,我们会事先创建数据库并在里面加入需要的数据,比如游戏的关卡数据.而android ...

  8. Android复制assets目录下的图片到内存

    转自:http://www.chenwg.com/android/android%E5%A4%8D%E5%88%B6assets%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84 ...

  9. 安卓 linux服务器文件夹,Android系统下根目录下文件

    在adb shell 中看根目录下的所有文件,今天来捋一捋. 有些人说,在adb shell下看到的手机根目录就是system分区. 我们还可以在根目录执行df命令或者mount命令查看具体挂载的所有 ...

最新文章

  1. 参与有奖 | Arthas 第 5 期征文活动火热开启!(内附第四期中奖名单)
  2. POJ 1696 Space Ant(极角排序)【计算几何】
  3. 如何修改IE浏览器的User-Agent用户代理字符串信息
  4. 浅谈怎么玩好微博如何做微博营销
  5. Scala range reverse调试
  6. 跟世界打个招呼c语言编程,(一)helloworld
  7. 【nodejs原理源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
  8. 遇到 no plugin found for prefix 'tomcat 7' in the current project and in the plugin groups 的解决办法
  9. 拆单软件 有屋-镶嵌铜条门 草图大师sketchup 衣柜橱柜全屋定制 下料机 酷家乐 三维家 海迅 云熙
  10. 知行之桥EDI系统30天试用导航
  11. TCP/IP四层协议模型与ISO七层模型(TCP/IP系统学习(2))
  12. 4.1 51单片机-定时器使用
  13. 构建系统发育树~序列对比 MEGA、MAFFT(图文教程)
  14. 计算机学院品牌活动总结,计算机学院研究生会工作总结
  15. oracle ovm配置使用
  16. 分布式技术原理与实战45讲--05 第05讲:共识问题:区块链如何确认记账权?
  17. 3dmark压力测试 linux,拷机还用Furmark? 瞧瞧3DMark压力测试怎样玩
  18. 福永苹果服务器维修,苹果发起 iPhone 7 “无服务”问题维修计划
  19. PHP电子商城需求分析,网站(电子商城)设计与实现[原创]
  20. 做数据挖掘工作需要具备哪些思维原理?

热门文章

  1. android apk提取工具,APK提取器(Apk Extractor)
  2. 【NGUI】使用NGUI实现按钮和字体都有颜色变化的效果
  3. 编译级Javascript压缩混淆工具:Closure-Compiler
  4. python批处理_python写批处理
  5. Ubuntu18.04 + NVIDIA Quadro T1000显卡驱动安装
  6. Android之:了解MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE 2,MeasureSpec.AT_MOST)
  7. python课程是什么意思-Python是个什么鬼?为什么985学生都要学它?!
  8. 酒店预订系统 【酒店模块-创建酒店功能】
  9. 夹抱式伸缩货叉料箱多层穿梭车立体库|海格里斯HEGERLS高速穿梭车按需定制
  10. c51单片机汇编语言语法错误,单片机汇编语言常见错误知识点分析