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

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

String strValue = "";
Properties props = new Properties();
try {
props.load(context.openFileInput("config.properties"));
strValue = props.getProperty (keyName);
System.out.println(keyName + " "+strValue);
}
catch (FileNotFoundException e) {
Log.e(LOG_TAG, "config.properties Not Found Exception",e);
}
catch (IOException e) {
Log.e(LOG_TAG, "config.properties IO Exception",e);
}

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

向.properties文件中写入配置:

  

Properties props = new Properties();
try {
props.load(context.openFileInput("config.properties"));
OutputStream out = context.openFileOutput("config.properties",Context.MODE_PRIVATE);
Enumeration<?> e = props.propertyNames();
if(e.hasMoreElements()){
while (e.hasMoreElements()) {
String s = (String) e.nextElement();
if (!s.equals(keyName)) {
props.setProperty(s, props.getProperty(s));
}
}
}
props.setProperty(keyName, keyValue);
props.store(out, null);
String value = props.getProperty(keyName);
System.out.println(keyName + " "+value);
}
catch (FileNotFoundException e) {
Log.e(LOG_TAG, "config.properties Not Found Exception",e);
}
catch (IOException e) {
Log.e(LOG_TAG, "config.properties IO Exception",e);
}

  

上面这段代码,跟读取的代码相比,多了一个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. 在Spring环境下存取properties文件…

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

  5. Android studio 读取properties文件

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

  6. QSettings保存程序设置

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

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

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

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

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

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

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

随机推荐

  1. How (not) to trigger a layout in WebKit

    As most web developers are aware, a significant amount of a script's running time may be spent perfo ...

  2. js的规范写法ES5(自己以后按照这样写)

    1.引号的使用,单引号' ' 优先(如果不是引号嵌套,不要使用双引号) 正常情况:console.log('hello there')        双引号转码: $("<div cl ...

  3. DynamicJson

    json字符串解析成Dynamic对象,开源地址http://dynamicjson.codeplex.com/,访问比较慢.使用方法摘录如下: Project Descriptiondynamic ...

  4. 【复位】FGPA的复位 [部分转]

    关于FGPA的复位 当初开始学FPGA的时候,总是疑惑:FPGA不是没有复位管教么,但总在always看到有复位信号.这个复位信号(我们暂且称为rst_n)从哪里来? 实际上是可以从两个方面获得的,这 ...

  5. 关于Thinkphp Upload类

    $this->uploads($picurl); public function uploads($picurl) { $config = array( 'maxSize' => 3145 ...

  6. IIC总线解析

    IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控 ...

  7. Python Day03

    set Collections系列: Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几 ...

  8. 纯js开发防win7日历控件

    不久前项目开发中遇到需要用js实现选择日期的需求,百度了下,确实一大把一大把的,但多少还是有些不符合当前需求,遂down了一份最接近的,然后修修改改,基本符合了... 先上几张效果图~~~ 需要输入时 ...

  9. 如何在MainWindowViewModel中引用MainWindow.xaml中的Resource?

    问题描述:在MainWindow.xaml的Window.Resource中定义了一个资源,如下: <xctk:Wizard x:Key="_wizard" FinishBu ...

  10. LCD内核自带驱动分析

    分析内种LCD驱动程序框架 LCD在fbmem.c文件中1.找到init.函数 static int __initfbmem_init(void){ 做的工作: (1).if (register_ch ...