Android:读取assets目录下文件(一)
来源:互联网 发布:淘宝买毒品暗语 编辑:程序博客网 时间:2024/05/13 13:27
在Android开发中,资源文件一般分为两种:
1.可编译的资源文件,放在res目录下,例如布局文件,这种资源文件系统会在R.java里面自动生成该资源文件的ID,直接通过R.X.ID就可以访问。
2.原生资源文件,保持原始的文件格式,存放在assets目录下。通过Android系统为我们提供的AssetManager,以简单的字节流的形式打开和读取这些资源文件。例如公司简介、服务协议等内容,通常放在这个文件夹。
这篇文章先讲下读取assets目录下的txt文件,示例代码如下:
package com.li.readassetfile;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import android.app.Activity;import android.content.res.AssetManager;import android.os.AsyncTask;import android.os.Bundle;import android.widget.TextView;public class ReadTxtActivity extends Activity { private TextView tvContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_read_txt); tvContent = (TextView) findViewById(R.id.tvContent); new ReadTxtTask().execute(); } private class ReadTxtTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... params) { AssetManager manager = getResources().getAssets(); try { InputStream inputStream = manager.open("joke.txt"); InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8"); BufferedReader br = new BufferedReader(isr); StringBuilder sb = new StringBuilder(); String length; while ((length = br.readLine()) != null) { sb.append(length + "\n"); } //关流 br.close(); isr.close(); inputStream.close(); return sb.toString(); } catch (IOException e) { e.printStackTrace(); } return ""; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); tvContent.setText(result); } }}
效果图:
不要忘了关闭相关IO流。
另外,如果文件内容比较长,可能会引起ANR,所以这里使用AsyncTask来读取文件。
阅读全文
0 0
- Android:读取assets目录下文件(一)
- Android读取assets目录下文件
- Android:读取assets目录下文件(二)
- Android读取assets目录下文件数据内容
- Android读取assets目录下文件数据内容
- Android读取assets目录下文件数据内容
- 在Android Studio中读取Assets目录下文件
- Android读取assets目录下文件数据内容
- 复制ASSETS目录下文件
- android拷贝assets目录下文件到其他目录
- android 读取assets下文件或者 java读取本地文件
- android 访问/assets 和/res目录下文件的方法
- Android获取assets或res目录下文件的Uri
- Android:NDK中访问assets目录下文件
- android 读取SD卡目录下文件
- Android读取assests目录下文件
- assets目录下和raw目录下文件的区别与读取
- assets目录下文件 引起ResouceNotFound问题
- MAudioPlugins for Mac(音频特效插件包)附注册机及破解教程 v11.09破解版
- 《大话处理器》笔记摘抄及一点延伸
- 玩玩String的字符串拼接底层原理
- javascript动画之焦点图
- java泛型通配符
- Android:读取assets目录下文件(一)
- PAT 1006. 换个格式输出整数 (15)
- Oracle如何调试package、procedures、Function?
- ClickHouse中文社区成立了,Clickhouse中国第一次线下Meetup于2018年1月27在北京举行
- mybatis 新增返回自增的id值
- LNMP 安装 thinkcmf提示404not found
- 数值
- AngularJS无作用域控制器
- 贪吃蛇游戏算法