读写函数分别如下:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;
public Properties loadConfig(Context context, String file) {
Properties properties = new Properties();
try {
FileInputStream s = new FileInputStream(file);
properties.load(s);
} catch (Exception e) {
e.printStackTrace();
}
return properties;
}
public void saveConfig(Context context, String file, Properties properties) {
try {
FileOutputStream s = new FileOutputStream(file, false);
properties.store(s, "");
} catch (Exception e){
e.printStackTrace();
}
}
orz,是不是发现什么了?对了,这两个函数与Android一点关系都没有嘛。。
所以它们一样可以在其他标准的java程序中被使用
在Android中,比起用纯字符串读写并自行解析,或是用xml来保存配置,
Properties显得更简单和直观,因为自行解析需要大量代码,而xml的操作又远不及Properties方便
使用方法如下:
写入配置:
view plaincopy to clipboardprint?
Properties prop = new Properties();
prop.put("prop1", "abc");
prop.put("prop2", 1);
prop.put("prop3", 3.14);
saveConfig(this, "/sdcard/config.dat", prop);
读取配置:
view plaincopy to clipboardprint?
Properties prop = loadConfig(this, "/sdcard/config.dat");
String prop1 = prop.get("prop1");
注:也可以用Context的openFileInput和openFileOutput方法来读写文件
此时文件将被保存在 /data/data/package_name/files下,并交由系统统一管理
用此方法读写文件时,不能为文件指定具体路径。
文件读取和保持的四种权限:
权限:android有四种权限
1.Context.MODE_PRIVATE
私有属性,只有自己可以访问,并且第二次写入的内容会覆盖第一次写入的内容
2.Context.MODE_APPEND
私有属性,只有自己可以访问,第二次写入的内容会追加到第一次写入的内容的后面
3.Context.MODE_WORLD_WRITEABLE
公有属性,其它项目都可以写入,不过第二次写入的内容会覆盖第一次写入的内容
4.Context.MODE_WORLD_READABLE
公有属性,其它项目都可以读取
权限是可以相加的,比如
现在我想要一个其它项目可以读取,并且也可以写入,还可以追加
Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE+Context.MODE_APPEND
void load()
{
Properties properties=new Properties();
try {
FileInputStream stream =this.openFileInput("music.cfg");
properties.load(stream);
} catch (FileNotFoundException e) {
// TODO: handle exception
return;
} catch (IOException e) {
// TODO Auto-generated catch block
return;
}
isplay=Boolean.valueOf(properties.get("isplay").toString());
}
boolean save()
{
Properties properties =new Properties();
properties.put("isplay", String.valueOf(isplay));
try {
FileOutputStream stream=this.openFileOutput("music.cfg", Context.MODE_WORLD_WRITEABLE);
properties.store(stream, "");
} catch (FileNotFoundException e) {
// TODO: handle exception
return false;
}catch (IOException e) {
// TODO: handle exception
return false;
}
return true;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ameyume/archive/2010/11/26/6037760.aspx
相关推荐
1. android中对properties的简单的封装,.properties文件放置assetes文件下面。 2. 具体见 http://blog.csdn.net/wuyuxing24/article/details/50895209
c#操作properties,读写配置文件,非常方便,几行代码就搞定
springboot_properties配置项
Android编译gradle.properties文件及说明, 解决Android gradle编译错误OOM:java heap space
log4j.properties配置文件
androidjava通用代码关于用properties存储打印的Log.zip
利用Java的Properties 类读取配置文件信息! 读取Properties文件的例子
在Android Studio项目里面有个local.properties文件,这个文件可以放一些系统配置。比如:sdk路径、ndk路径。 ndk.dir=D\:\\soft\\android-ndk-r10e sdk.dir=D\:\\soft\\SDKandroidStudio 当然我们也可以在local....
log4j.properties配置详解
主要介绍了Android读取properties配置文件的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
dbconfig.properties C3P0配置 dbconfig.properties C3P0配置
NULL 博文链接:https://edison-cool911.iteye.com/blog/889726
主要介绍了Python实现读取Properties配置文件的方法,结合实例形式分析了Python读取Properties配置文件类的定义与使用相关操作技巧,需要的朋友可以参考下
使用Java中的Properties类的方法,以及类加载器来读取配置文件中的信息。可以读取.properties文件和.cfg文件。详细代码+注释+测试例子
apache+tomcat集群配置 tomcat 中workers.properties配置说明
activiti和springboot整合只使用application.properties配置文件,解决了jdbc长时间待机连接被收回报错。使用springProcessEngineConfiguration对activiti管理
java读写properties配置文件
NULL 博文链接:https://hezhou-0521.iteye.com/blog/834450
大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...
java如何读取properties配置文件