您的位置:首页 > 移动开发 > Android开发

android 从assets和res中读取文件

2012-03-07 15:24 531 查看
下文来自:
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();

}

}

当然如果你要得到内存流的话也可以直接返回内存流!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: