`
tudusi
  • 浏览: 1051232 次
文章分类
社区版块
存档分类
最新评论

android 从assets和res中读取文件

 
阅读更多

下文来自:

http://hi.baidu.com/dragon_eros/blog/item/d024212792c2c44a9822edb7.html

-------------------------------------------------------------------------------------------------

11. assets文件夹资源的访问

assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。
1. 先在Activity里面调用getAssets()来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()
4.调用AssetManager.close()关闭AssetManager。

需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作
以下为从Raw文件中读取:
代码

public String getFromRaw(){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().openRawResource(R.raw.test1));
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}
以下为直接从assets读取
代码
public String getFromAssets(String fileName){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}

当然如果你要得到内存流的话也可以直接返回内存流!
分享到:
评论

相关推荐

    android从assets和res中读取文件.pdf

    android从assets和res中读取文件.pdf

    Android assets 和 res/raw 区别。读取本地网页,读取文本字体样式,读取视频。

    Android assets 和 res/raw 区别。读取本地网页,读取文本字体样式,读取视频。

    Android Assets文件和Raw文件读取

    Android 中获取Assets目录下的文件和子目录下的文件,获取raw文件夹下的文件

    读写Android中assets目录下的文件的方法详解

    主要介绍了读写Android中assets目录下的文件的方法详解,assets和res/raw工程目录下都可以放一些文件,这些文件将被打包到APK中应用使用,需要的朋友可以参考下

    Android开发之资源目录assets与res/raw的区别分析

    主要介绍了Android开发之资源目录assets与res/raw的区别,结合实例形式分析了Android开发中资源目录assets与res/raw的具体功能、使用方法与区别,需要的朋友可以参考下

    Android 读取assets和raw文件内容实例代码

    android之文件操作——读取assets和raw文件下的内容 1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字为raw的文件夹)   2.创建两个txt文件,复制到asset和raw文件夹中:...

    android编程(自学资料)

    Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx....

    android中文文档

    每个Android应用程序包含一个资源目录(res/)和资产目录(assets/),资产不经常被使用,因为它们的应用程序很少。你仅在需要读取原始字节流时才需要保存数据为资产。资源和资产目录均驻留在Android项目树的顶端,...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android中资源文件(非代码部分)的使用概览

    assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式来读取。 res中的资源可以通过R资源类直接访问。 R类是自动生成的,在该类中根据不同的资源类型...

    Android中asset文件夹与raw文件夹的区别深入解析

    *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res/raw不可以有...

    Android 工程内嵌资源文件的两种方法

    方法一 res/raw目录下存放,比如cwj.dat一个二进制文件,我们可以读取可以直接 代码如下: InputStream is=context.getResources().openRawResource(R.raw.cwj); 方法二 工程根目录下的assets文件夹中存放,比如...

    java_用于获取本地指定资源信息的工具类的标准代码_android

    从res/raw目录下读取文件内容 从assets目录读取文本 得到assets目录下某个文件内容 从raw目录读取文本 得到raw目录下某个文件内容 获得字符串 获得颜色 获得Drawable 解压assets的zip压缩文件到指定目录

Global site tag (gtag.js) - Google Analytics