原文:http://jerrysun.blog.51cto.com/745955/804789

废话不说,直接上代码。
    读取.properties文件中的配置: 

  1. String strValue = "";
  2. Properties props = new Properties();
  3. try {
  4. props.load(context.openFileInput("config.properties"));
  5. strValue = props.getProperty (keyName);
  6. System.out.println(keyName + " "+strValue);
  7. }
  8. catch (FileNotFoundException e) {
  9. Log.e(LOG_TAG, "config.properties Not Found Exception",e);
  10. }
  11. catch (IOException e) {
  12. Log.e(LOG_TAG, "config.properties IO Exception",e);
  13. }

相信上面这段代码大部分朋友都能看懂,所以就不做过多的解释了。

向.properties文件中写入配置:

  1. Properties props = new Properties();
  2. try {
  3. props.load(context.openFileInput("config.properties"));
  4. OutputStream out = context.openFileOutput("config.properties",Context.MODE_PRIVATE);
  5. Enumeration<?> e = props.propertyNames();
  6. if(e.hasMoreElements()){
  7. while (e.hasMoreElements()) {
  8. String s = (String) e.nextElement();
  9. if (!s.equals(keyName)) {
  10. props.setProperty(s, props.getProperty(s));
  11. }
  12. }
  13. }
  14. props.setProperty(keyName, keyValue);
  15. props.store(out, null); 
  16. String value = props.getProperty(keyName);
  17. System.out.println(keyName + " "+value);
  18. }
  19. catch (FileNotFoundException e) {
  20. Log.e(LOG_TAG, "config.properties Not Found Exception",e);
  21. }
  22. catch (IOException e) {
  23. Log.e(LOG_TAG, "config.properties IO Exception",e);
  24. }

上面这段代码,跟读取的代码相比,多了一个if判断以及一个while循环。主要是因为Context.Mode造成的。因为我的工程涉及到多个配置信息。所以只能是先将所有的配置信息读取出来,然后在写入配置文件中。
    Context.Mode的含义如下:
    1.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。
    2.MODE_APPEND:代表该文件是私有数据,只能被应用本身访问,该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
    3.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
    4.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。

注:.properties文件放置的路径为/data/data/packagename/files

【转】Android下使用Properties文件保存程序设置的更多相关文章

  1. Android下使用Properties文件保存程序设置

    原文:http://jerrysun.blog.51cto.com/745955/804789 废话不说,直接上代码.    读取.properties文件中的配置: String strValue ...

  2. java读取项目根路径下和任意磁盘位置下的properties文件

    1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...

  3. Spring下读取properties文件

    由于在spring的xml文件中配置了 <bean id="validator" class="org.springframework.validation.bea ...

  4. cocos2d-x 2.x.x 新建工程 android下的 org文件夹丢失

    cocos2d-x 2.x.x 新建工程之后... 打开android项目..会发现src下没有org文件... 解决方法一: cocos2d-x-2.2.0\cocos2dx\platform\an ...

  5. 在Spring环境下存取properties文件…

    Spring中PropertyPlaceholderConfigurer的使用 (1) 基本的使用方法是 classpath:/spring/include/dbQuery.properties 其中 ...

  6. Android studio 读取properties文件

    System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath( ...

  7. 封装的方法--读取任何路径下的properties文件中的值

    概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...

  8. QSettings保存程序设置

    今天看了一些QSettings的简单用法,可以用来保存程序的设置,使得程序每次启动都可以显示上次关闭时的状态.我这里实现了一个简单的文本编辑窗口,可以设置文本的字体,字体的颜色和背景色.每次关闭程序都 ...

  9. 将properties文件的配置设置为整个Web应用的全局变量。

    四种作用域: Web应用中的变量存放在不同的jsp对象中,会有不一样的作用域,四种不同的作用域排序是 pageContext < request < session < applic ...

随机推荐

  1. Atitti cto的日常流程与职责attilax总结

    Atitti cto的日常流程与职责attilax总结 1. (最重要)技术战略制定 规划,预测趋势1 1.1. 关键词 Throught技术雷达 趋势 没落  已死  辉煌 未来1 1.2. (比较 ...

  2. Atitti 固化数据库表结构方案

    Atitti 固化数据库表结构方案 1. 固化数据库表结的重要意义1 2. 如何固化表结构1 2.1. 向上抽象一层,以动词有目标,以名词为存储对象.1 2.2. 数据类型datatype字段:这个用 ...

  3. IOS UIView自动调整尺寸

    自动尺寸调整行为 当您改变视图的边框矩形时,其内嵌子视图的位置和尺寸往往也需要改变,以适应原始视图的新尺寸.如果视图的autoresizesSubviews属性声明被设置为YES,则其子视图会根据au ...

  4. ios使用kvc机制简化对json的解析

    在 ios开发中,我们经常需要对服务器的传回来的json进行解析,特别是对哪些字段特别多的就会又烦躁的情绪.tmd都是一样的东西,要为每个property赋值,真是累人啊.举个简单的例子吧.服务器会过 ...

  5. iOS提交iTunes审核时出现Invalid Binary错误

    xcode5编译一个xcode4时写的代码,提交iTunes审核时出错. 1.iOS提交审核时出现Invalid Binary错误 2.收到邮件: iPhone 5 Optimization Requ ...

  6. 【Unity】7.4 游戏外设输入

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 Unity可以处理摇杆.游戏手柄.方向盘等标准游戏外设的输入,使用的方法如下图所示: 虚拟按键需要在输入管理器中配置,把 ...

  7. java 字符串格式化

    转:http://blog.sina.com.cn/s/blog_af26e3330101988v.html 1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化 ...

  8. Gitlab日常备份和恢复

    按照官方安装文档安装完成之后的/home/git目录结构如下,这里我大致翻译官方的内容,部分加上自己的话,英语功力捉急,请见谅 |-- home | |-- git | |-- .ssh | |-- ...

  9. 【内核】嵌入式linux内核的五个子系统

    Perface Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部 ...

  10. kali64位 安装 adb

    1,adb只有32位的  ,下载地址http://dl.dbank.com/c0umekbpxi# 2,下载解压,但是执行adb命令时,报./adb: error while loading shar ...