怎么读取android项目文件夹里的文件?

wcz12345678 2012-03-06 12:47:02
例如:现在我的项目文件夹Resource/book/下有:
chapter1.txt
chapter2.txt
chapter3.txt
chapter4.txt
chapter5.txt
...

怎么把这些文件读进来?
...全文
355 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ihrthk 2012-03-07
  • 打赏
  • 举报
回复
用 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();
}
}
当然如果你要得到内存流的话也可以直接返回内存流!
menghnhhuan 2012-03-06
  • 打赏
  • 举报
回复
这个一般用于帮助文件之类的,比如项目根目录下有assets文件夹,存在一个文件readme.txt,下面就是读这个文件:
String showtxt="帮助文件丢失!";
InputStream is;
try {
is = getAssets().open("readme.txt");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
showtxt = new String(buffer, "GB2312");
} catch (IOException e) {
throw new RuntimeException(e);
}
new CustomDialog(MainActivity.this,
CustomDialog.DIALOG_DETAILS,"关于",showtxt).show();

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧