ini格式配置文件,这种配置文件在win系统上很常见.
还有git的配置文件也很类似ini的,不过还是不太一样的.

[repo]GIT_ANDROID_ROOT=git/android/REPO_MANIFEST_ADDR=ssh://gerrit.mage.com:29418/git/android/platform/manifestREPO_MANIFEST_BRANCH=mage_masterREPO_MANIFEST_FILE=mage/default.xmlREPO_MIRROR=/home/mirrorREPO_GROUP=REPO_GROUP_AMSS=mage_amss,mage_commonREPO_GROUP_ANDROID=all,-mage_amss[build]SOC_NAME=ANDROID_TARGET_PRODUCT_LIST=mageANDROID_BUILD_VARIANT_LIST=userdebug,user,engANDROID_TARGET_CARRIER_LIST=euANDROID_BUILD_TYPE=releaseANDROID_EXTRA_BUILD_STEPS=ANDROID_EXTRA_BUILD_STEPS=ANDROID_EXTRA_BUILD_COMBINATION=ANNOUNCE_LIST=

在java中我们可以使用 init4j 这个模块来解析ini文件

maven的依赖坐标        <dependency>            <groupId>org.ini4jgroupId>            <artifactId>ini4jartifactId>            <version>0.5.2version>        dependency>

这里主要介绍一下ConfigParser这个,这个和python中的ConfigParser很类似的.

读取ini文件,直接调用ConfigParser 中的read 方法,读取之后 就可以使用 ConfigParser 中的get方法来获取对应的值了.

        try {            ConfigParser config = new ConfigParser();            config.read(cf.toFile());            if (!config.hasSection(secn))                return;            ListString, String>> items = config.items(secn);            for (Map.Entry<String, String> item : items) {                System.out.println(item.getKey() + " = " + item.getValue());            }//end for        } catch (Exception e) {            e.printStackTrace();        }

写入也是先调用ConfigParser 的read,然后调用 ConfigParser 的 set 方法这是相应的section的相应的key对应的值.

       try {            ConfigParser config = new ConfigParser();            config.read(cf.toFile());            if (!config.hasSection(buildSectionName)) {                config.addSection(buildSectionName);            }            for (Map.Entry entry : map.entrySet()) {                String value = entry.getValue();                String key = entry.getKey();                // 这里保存的时候要把key都变为小写字母                config.set(buildSectionName, key.toLowerCase(), value);            }            config.write(cf.toFile());        } catch (Exception e) {            e.printStackTrace();        }
    //这个方法就是设置相应的section下的相应的key对应的value值    public void set(String sectionName, String optionName, Object value) throws NoSectionException    //这个方法就是获取相应的section下的相应的key对应的值.    public String get(String section, String option) throws NoSectionException, NoOptionException, InterpolationException    例如上面例子中ini配置文件,获取repo下面的REPO_MANIFEST_ADDR的值可以这样:    get("repo", "REPO_MANIFEST_ADDR")

除了直接用ConfigParser 类,还可以直接使用Ini这个类.用法都是比较简单的.

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. android内存溢出的解决方法(转)
  6. Android学习笔记-1.Android工程结构
  7. 关于Android中定时周期执行线程方法
  8. android ndk生成so库
  9. android之fragment与fragment、activity与activity、fragment与a

随机推荐

  1. Oracle OCP 071中文考试题库-第17题
  2. 身份认证之多因素身份认证(MFA)
  3. 云计算,变革来临时
  4. 红帽认证有用吗?哪些人适合报考红帽认证?
  5. linux使用zip修改文件内容
  6. 如何在 Mac 上的“照片”中将色阶调整应
  7. 灵魂拷问:为什么做自动化测试的效率总是难
  8. Linux运维入门教程05-01 (正文处理命令及
  9. Hystrix 实战经验分享
  10. 如何使用iMovie对抖动视频进行防抖处理?