java的Properties可以操作一个键值对类型数据保存的文件,同样可以在android进行保存数据。
可以作为工具类保存数据
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import android.content.Context;
import android.content.res.AssetManager;
public class PropertiesConfig extends Properties {
public static final String configPath = "config" + File.separator
+ "client_config.properties";
public static final String KEY_user_valid_code = "KEY_user_valid_code";
private static Context mContext;
private PropertiesConfig() {
};
private static PropertiesConfig mPro;
public static PropertiesConfig getInstance(Context mContext) {
if (PropertiesConfig.mContext == null || mPro == null) {
PropertiesConfig.mContext = mContext;
try {
//当且仅当不存在具有此抽象路径名指定名称的文件时创建一个新的空文件
File file=new File(configPath);
file.mkdirs();
file.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
PropertiesConfig pro = new PropertiesConfig();
//android的AssetManager类管理Asset文件夹下的资源
AssetManager am = mContext.getAssets();
try {
InputStream is = am.open(configPath);
pro.load(is);
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mPro = pro;
return pro;
}
return mPro;
}
@Override
public Object setProperty(String key, String value) {
super.setProperty(key, value);
try {
//保存键值对
this.store(new FileOutputStream(PropertiesConfig.configPath),
"utf-8");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value;
}
public Object put(String key, String value) {
super.put(key, value);
try {
//保存键值对
this.store(new FileOutputStream(PropertiesConfig.configPath),
"utf-8");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value; }
}
分享到:
相关推荐
java 改变Properties文件中的键值 java 改变Properties文件中的键值
Android存取键值对的代码例子。通过利用SharedPreferences和Properties两种方式,演示了如何实现键值对保存和读取的功能。
Android高级应用源码-android java 通用代码,关于用properties存储打印的Log.zip
gulp-filter-java-properties Node 包的包装。 执行键值字符串替换,类似于 Maven 资源插件。用法首先,安装gulp-filter-java-properties作为开发依赖: npm install --save-dev gulp-filter-java-properties 然后,...
java 枚举遍历键值对 属性类Properties 类加载器
Project--Properties--Java Build Path--Libraries-- Add External JARs(add jars),将主目录下的jar文件(4个,djep-1.0.0.jar, jep2.3.0.jar, peersim1.0.5.jar,peersimdclet.jar)都添加进去。Libraries中才是程序...
androidjava通用代码关于用properties存储打印的Log.zip
resolver-status.properties
非常实用的读取配置文件的小工具,专门读取WEB-INF下文件夹中的properties文件,代码简洁、亲测没有问题,适用范围广,任何类中都可调用,传入Key及可得到Value
JSON Schema 生成库——json-schema-inferrer(java版).rar
[ ] eigenbase-properties-1.1.4-javadoc.jar 06-Dec-2013 18:28 83K [ ] eigenbase-properties-1.1.4-javadoc.jar.md5 06-Dec-2013 18:28 32 [ ] eigenbase-properties-1.1.4-javadoc.jar.sha1 06-Dec-2013 18:28...
plugin-descriptor.properties
jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化
jquery-i18n-properties-1.0.9 多语言源代码及用例,可以参考用例的写法
jsp+servlet+eclipse+mysql(包含源码和数据库),含增删改查功能,导入数据库,就可以运行。 各层的类如下: ...---clientDao.java ---clientDaoImp.java ...---db.properties com.jsp.vo ---Client.java
redis实现tomcat的session共享所需redis-data-cache.properties
java properties java应用实例 java properties java应用实例
jqueryi18nproperties