android 从assets和res中读取文件
16lz
2022-07-28
下文来自:
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文件中读取:
代码
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();
}
}
当然如果你要得到内存流的话也可以直接返回内存流!
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- 读取android手机流量信息
- android 使用html5作布局文件: webview跟javascript交互
- Android(安卓)Wifi模块分析(三)
- Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
- android“设置”里的版本号
- Android中dispatchDraw分析
- Android开发环境搭建