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();
}
}
当然如果你要得到内存流的话也可以直接返回内存流!
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中读取文件
- android 从assets和res中读取文件
- android 从assets和res中读取文件(转)
- 读取android项目中的文件(可以读取assets文件夹或在res文件夹中raw中的文件)
- android 从assets和res中读取文件(转)
- android 从assets和res中读取文件
- android从res、assets中读取文件
- 读取android项目中的文件(可以读取assets文件夹或在res文件夹中raw中的文件)
- android 从assets和res中读取文件
- android 从assets和res中读取文件(转)
- android 从assets和res中读取文件(转)
- android 从assets和res中读取文件
- Android 从 assets和res中读取文件
- Android 读取资源文件(assets 文件夹 或res文件夹 )下面的文件
- android 从assets和res中读取文件
- android 从assets和res中读取文件(转)
- android 基础 res文件 assets xml raw
- android读取assets大于1M文件的解决方法
- QLGame 2d Engine Android端环境搭建(通过jni读取assets目录的文件)
- android常见问题之jni读取assets资源文件