读取本地文件assets内容
在项目开发的过程中,会遇到很多需要读取本地文件的内容的需求,如读取所有的银行,和读取所有的城市名等等!
如下示意图:
**第一步;**在main文件下,新建assets文件,并将资源文件bankresource.txt文件导入,如下
{"ICBC":"中国工商银行","ABC":"中国农业银行","CCB":"中国建设银行","CMB":"招商银行","CEB":"中国光大银行","CIB":"兴业银行","SPDB":"上海浦东发展银行","COMM":"交通银行","CITIC":"中信银行","HXBANK":"华夏银行","BOC":"中国银行","CMBC":"中国民生银行","PSBC":"中国邮政储蓄银行","GCB":"广州银行","SRCB":"深圳农村商业银行","SPABANK":"平安银行"}
第二步:自定义getFromAssets方法,将对象装换成字符串
//已流的方式读取public String getFromAssets(String fileName) {StringBuilder stringBuilder = new StringBuilder();try {InputStreamReader inputReader = new InputStreamReader(getResources().getAssets().open(fileName));BufferedReader bufReader = new BufferedReader(inputReader);String line = "";while ((line = bufReader.readLine()) != null) {stringBuilder.append(line);}return stringBuilder.toString();} catch (Exception e) {e.printStackTrace();}return null;}
第三步:将读取出来的String中分离出来key和value
//读取assets里面文件的数据String content = getFromAssets(FILE_NAME);if (TextUtils.isEmpty(content)) {return;}//对象集合mBankInfoList = new ArrayList<BankInfo>();try {JSONObject object = new JSONObject(content);Iterator<?> iterator = object.keys();//循环迭代器中的key值while (iterator.hasNext()) {//code为解析出来的key值,如ICBCString code = iterator.next().toString();if (code != null) {//name为根据code解析出来的value值,如中国工商银行String name = object.getString(code);Log.e("打印出来", code + "================");Log.e("打印出来", name + "------------------");//BankInfo为Bean对象mBankInfoList.add(new BankInfo(code, name, false));}}} catch (JSONException e) {e.printStackTrace();}//适配器mBankSelectedAdapter = new BankSelectedAdapter(this, mBankInfoList);
另外:获取assets下文件的路径:
**方法一:仅仅只针对assets下的单一文件,如html等,例如apk格式的就不行
** String path = “file:///android_asset/icon_wm.png”;
**方法二:**通过流的方式去处理
/*** 将asset文件写入缓存*/private boolean copyAssetAndWrite(String fileName){ try {File cacheDir=getCacheDir(); if (!cacheDir.exists()){cacheDir.mkdirs();}File outFile =new File(cacheDir,fileName); if (!outFile.exists()){ boolean res=outFile.createNewFile(); if (!res){ return false;}}else { if (outFile.length()>10){//表示已经写入一次return true;}}InputStream is=getAssets().open(fileName);FileOutputStream fos = new FileOutputStream(outFile); byte[] buffer = new byte[1024]; int byteCount; while ((byteCount = is.read(buffer)) != -1) {fos.write(buffer, 0, byteCount);}fos.flush();is.close();fos.close(); return true;} catch (IOException e) {e.printStackTrace();} return false;
}获取路径:
File dataFile=new File(getCacheDir(),fileName);Log.d(TAG,"filePath:" + dataFile.getAbsolutePath());
以上,即可实现读取assets中文件
读取本地文件assets内容相关推荐
- jq ajax 读取本地文件,jquery读取本地文件
$(document).ready(function(){ $("#b01").click(function(){ htmlobj=$.ajax({url:"/jquer ...
- Electron教程(五)读取本地文件内容, icpMain icpRenderer 之间的交互
Electron教程(五)读取本地文件内容, ipcMain ipcRenderer 之间的交互 Electron教程(一)什么是 Electron,由来.适用场景 和 Electron 的环境搭建 ...
- 保存页面文本到本地文件读取本地文件内容到页面
问题描述:假设网页有个文本框之类的东西,想通过点击某一按钮后,将用户在文本框中输入的内容直接保存在本地某个文件中.同理,也想通过页面直接读取本地文件中的内容. 问题分析:因为整个处理过程不涉及到后台的 ...
- Java读取本地文件内容并输出
下面是读取本地文件并输出内容的Java代码. 如果文件有中文,可能会乱码需要设置软件的编码格式. public static void readFile() {FileReader fileReade ...
- vue 读取本地文件内容
将本地文件中内容显示在页面上 <el-button type="success" id="fileImport" v-on:click="cli ...
- java读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
- python读取本地文件-python解析本地HTML文件
Python使用爬虫技术时,每运行一次,本地都会访问一次主机.为避免完成程序前调试时多次访问主机增加主机负荷,我们可以在编写程序前将网页源代码存在本地,调试时访问本地文件即可.现在我来分享一下爬取资料 ...
- 用Groovy读取本地文件的代码
下面这些包默认已经被导入了,不需要使用import再次显式导入: java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger jav ...
- java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...
只实现了传送文件的功能. 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中. 消息格式: 字段 长度(单位字节) 内容 -------------- ...
- java 读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
最新文章
- 命令行的全文搜索工具--ack
- 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes' Rule Monty Hall Problem Simulation Python)...
- linux lvm 镜像,LVM实现逻辑卷镜像
- CopyOnWrite容器
- Multi-Scale Densenet续作?搞定Transformer降采样,清华联合华为开源动态ViT!
- 笔试题:写一个ArrayList 的动态代理类
- 7-68 阶乘计算 (15 分)
- QColorDialog中Pick Screen Color、Ok、Cancel不能汉化解决
- 什么原因成就了一位优秀的程序员?(转)
- Python爬虫学习二爬虫基础了解
- java变量命名规则_浅谈JAVA开发规范与开发细节(上)
- python glob.glob使用
- python 面向对象_多态、内置方法、反射
- 程序静默安装的参数总结
- python第五章自己的笔记总结(6)
- 使用VLC-QT开源库开发流媒体播放器
- mindmanager2021下载 最新版如何更新
- java 美发管理系统_美容美发管理系统毕业论文.doc
- excel下拉隐藏_在Excel下拉列表中隐藏使用过的项目
- 诈金花游戏单机版 附开源地址