android个人笔记(五)——解析ini文件
来源:互联网 发布:淘宝价格趋势图插件 编辑:程序博客网 时间:2024/06/07 17:23
解析ini文件
package com.example.effecttest;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Properties;import android.content.Context;public class IniReaderHasSection { protected HashMap<String, Properties> sections = new HashMap<String, Properties>(); private transient String section; private transient Properties properties; /*public IniReaderHasSection(String filename) throws IOException { BufferedReader reader = new BufferedReader(new FileReader(filename)); read(reader); reader.close(); }*/ public IniReaderHasSection(String fileName) throws IOException{ //sections = new HashMap<String, Properties>(); BufferedReader reader = new BufferedReader(new FileReader(fileName)); read(reader); reader.close(); } /** * 读取asset文件 * @param context * @param iniPath */ public IniReaderHasSection(Context context,String iniPath){ try{ //sections = new HashMap<String, Properties>(); InputStream inputStream = context.getResources().getAssets().open(iniPath); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); read(reader); reader.close(); }catch(Exception ex){ ex.printStackTrace(); } } protected void read(BufferedReader reader) throws IOException { String line; while ((line = reader.readLine()) != null) { parseLine(line); } } protected void parseLine(String line) { line = line.trim(); if (line.matches("\\[.*\\]")) { section = line.replaceFirst("\\[(.*)\\]", "$1"); properties = new Properties(); sections.put(section, properties); } else if (line.matches(".*=.*")) { if (properties != null) { int i = line.indexOf('='); String name = line.substring(0, i); String value = line.substring(i + 1); properties.setProperty(name, value); } } } public String getValue(String section, String name) { Properties p = (Properties) sections.get(section); if (p == null) { return null; } String value = p.getProperty(name); return value; }}
ini文件示例:
;特技个数[PlugInNum]PlugInNum=2;特技名称(用来传递给openPlugIn,load特技插件)[PlugInName]PlugInName_0=ColorPlugInName_1=Grey;特技按钮显示名称,顺序和PlugInName键顺序对应[PlugInBtnName]PlugInBtnName_0=ColorPlugInBtnName_1=Grey
0 0
- android个人笔记(五)——解析ini文件
- android个人笔记(一)——mk文件
- Android 个人学习笔记之--- DOM解析XML文件
- Android 个人学习笔记之--- Pull解析XML文件
- Android 个人学习笔记之--- DOM解析XML文件
- Android 个人学习笔记之--- Pull解析XML文件
- Android 个人学习笔记之---SAX解析XML文件
- 黑马程序员:iOS基础——个人笔记(五)
- Android 个人学习笔记之---SAX解析XML文件(有一个坑爹的问题)
- <Android学习笔记五>——JSON数据的解析
- Android学习笔记(九)——XML文件解析
- python 解析ini 文件
- ini文件解析器
- php解析.ini文件
- INI文件解析类
- shell解析ini文件
- python解析ini文件
- shell解析ini文件
- Windows Socket编程的基本思路
- 自动解锁并唤醒屏幕
- 深入理解java虚拟机【Java虚拟机类生命周期】
- MySQL 时间戳(Timestamp)函数
- 计算每个月的天数
- android个人笔记(五)——解析ini文件
- Java开发实用工具及组件应用(JFreeChart、PDF组件-iText、jasper report报表、Maven)
- jquery easyui Panel 属性之href 详解 减少页面js,ID,变量 冲突办法
- 开发笔记之20140115
- java.NIO网络编程很不错的一个例子
- 【cocos2d-x官方文档】Box2D
- Android 键盘事件处理过程
- 【cocos2d-x官方文档】纹理缓存(Texture Cache)
- 成为高手的必经之路——学会调试代码(菜鸟必读)