Android下使用Properties文件保存程序设置
原文: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文件保存程序设置的更多相关文章
- 【转】Android下使用Properties文件保存程序设置
原文:http://jerrysun.blog.51cto.com/745955/804789 废话不说,直接上代码. 读取.properties文件中的配置: String strValue ...
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- Spring下读取properties文件
由于在spring的xml文件中配置了 <bean id="validator" class="org.springframework.validation.bea ...
- 在Spring环境下存取properties文件…
Spring中PropertyPlaceholderConfigurer的使用 (1) 基本的使用方法是 classpath:/spring/include/dbQuery.properties 其中 ...
- Android studio 读取properties文件
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath( ...
- QSettings保存程序设置
今天看了一些QSettings的简单用法,可以用来保存程序的设置,使得程序每次启动都可以显示上次关闭时的状态.我这里实现了一个简单的文本编辑窗口,可以设置文本的字体,字体的颜色和背景色.每次关闭程序都 ...
- cocos2d-x 2.x.x 新建工程 android下的 org文件夹丢失
cocos2d-x 2.x.x 新建工程之后... 打开android项目..会发现src下没有org文件... 解决方法一: cocos2d-x-2.2.0\cocos2dx\platform\an ...
- 将properties文件的配置设置为整个Web应用的全局变量。
四种作用域: Web应用中的变量存放在不同的jsp对象中,会有不一样的作用域,四种不同的作用域排序是 pageContext < request < session < applic ...
- 封装的方法--读取任何路径下的properties文件中的值
概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...
随机推荐
- find / -type f -name "*fetion*" |xargs rm -rf {}\
find / -type f -name "*fetion*" |xargs rm -rf {}\
- visual studio错误解决 [error LNK1104: 无法打开文件“gdi32.lib”]
哔了狗.我是win7装的vs2013,本着体验一下"新"玩意的心情.(然而2017都快出来了),没想到竟遇到如此粗鄙的问题. 从错误信息上明显可以了解是缺少一个静态库.(当然错误信 ...
- js中正则表达式 ---- 现成
1 . 校验密码强度 密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间. ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 2. 校验中 ...
- solr索引服务器的配置和solrj集成开发总结
一.环境:solr6.2 + jdk1.8 + tomcat8 (solr不同版本需要最低的环境不同) solr6 需要至少jdk1.8 .对应的solr5+jdk1.7+tomcat7 实测 ...
- phonegap + xcode5.0.2 配置开发环境
phonegap官网: http://phonegap.com/ 第一部:安装nodejs 安装地址:http://nodejs.org/ 安装phoneGap 官网下载http://phonega ...
- docker定制化镜像的构建及基于该定制的镜像创建容器
1.在项目里创建Dockerfile(注意大小写)文件,执行构建命令:docker build -t tiny-node-1 /root/tiny-node-docker 其中tiny-node ...
- 第五次Java作业
作业一: 文件显示列表框. 增加了下拉式组合框,text区域设置颜色为红色. import javax.swing.*; import java.awt.*; import java.io.File; ...
- GDB配置与.gdbinit的编写
GDB配置与.gdbinit的编写 当 GDB(即 GNU Project Debugger)启动时,它在当前用户的主目录中寻找一个名为 .gdbinit 的文件:如果该文件存在,则 GDB 就执行该 ...
- UIImagePickerController和UIAlertController结合使用
在处理个人资料 - 头像的时候,通常有两个选项,一个是调用系统相机,一个是调用系统相册.这里要使用的就是UIImagePickerController方法. 在头像位置的imageView添加一个手势 ...
- 《Pro Express.js》学习笔记——概述
要学Node.js,先学Express.js. Express.js是Node.js官方推荐的基础框架. Express.js框架经过一系列的发展,已经到了4.x版本.新的版本解决了3.x之前版本的依 ...