android中解析text配置文件

来源:互联网 发布:宁波淘宝美工培训 编辑:程序博客网 时间:2024/05/18 17:57

Android中文件解析有xml解析,json解析等。这里要说的是解析txt配置文件,返回JavaBean对象。

有一点是,配置文件每一行有一条数据,有些数据可能并不是我们所需要的,每组数据里面包含的元素不一定相同,而且取出来的数据也得符合要求。

先看JavaBean:

public class UpgradeInfo {public String productID;public String version;public String loadUrl;public String vendor;public UpgradeInfo(){productID = "";version = "";loadUrl = "";vendor = "";}}

解析txt,代码中有注释:

public UpgradeInfo parseTXTorPHP(InputStream inputStream) {DataInputStream dataInputStream = new DataInputStream(inputStream);String strLine = null;UpgradeInfo upgradeInfo = null;UpgradeInfo upgradeInfo_vendor = null;boolean hasVendorUpgradeInfo = false;int tag = 0;try {while (true) {strLine = dataInputStream.readLine();//一次读取一条数据if (strLine == null) {break;}if (strLine.startsWith("[")) {if (tag != 0) {mSb.append("{"); //每组数据以“[”开始。}tag = 1; //根据tag标签判断是否是第一组数据}mSb.append(strLine + ";");  //将所有字符串拼接}String[] arrys = mSb.toString().split("\\{");  //将字符串分组,得到每一组数据。for (String string : arrys) {if (!string.startsWith("[PRODUCTID]")) {Log.i(TAG, "current msg not start A312");continue;  //如果不满足条件则不创建bean对象,并进行下一组数据判断。}String[] aaStrings = string.split(";");   //将符合条件的组切割成每条数据String productIDString = placeS(aaStrings[0]);if (aaStrings.length == 3 && upgradeInfo == null) {upgradeInfo = new UpgradeInfo(); //满足条件时创建bean对象,添加数据upgradeInfo.productID = productIDString;upgradeInfo.version = aaStrings[1];upgradeInfo.loadUrl = aaStrings[2];} else if (aaStrings[3].equals("VENDOR") && aaStrings.length == 4 && upgradeInfo_vendor == null) { 
//判断是否为null,文件中满足条件的数据有多条,只取第一条。
upgradeInfo_vendor = new UpgradeInfo();upgradeInfo_vendor.productID = productIDString;upgradeInfo_vendor.version = aaStrings[1];upgradeInfo_vendor.loadUrl = aaStrings[2];upgradeInfo_vendor.vendor = aaStrings[3];hasVendorUpgradeInfo = true;  //此处做标记,为了返回更合适的数据。}else {Log.i(TAG, "Please check your configFile!");}}if (hasVendorUpgradeInfo) { //返回符合条件的数据return upgradeInfo_vendor;} else {return upgradeInfo;}  } catch (IOException e) {e.printStackTrace();}return null;}


0 0
原创粉丝点击