public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
get();
//添加数据
set("name", "斌");
set("pass", "123456");
set("age", "22");
//获取数据
String name=get("name");
//删除数据
remove(new String[]{"name","pass","age"});
}
/**
* 生成Properties实例*/
public Properties get() {
FileInputStream fis = null;
Properties props = new Properties();
try{
File dirConf = MainActivity.this.getDir("config", Context.MODE_PRIVATE);
String string = dirConf.getPath();// /data/data/com.example.propertydemo/app_config
fis = new FileInputStream(dirConf.getPath() + File.separator + "config");
props.load(fis);
}catch(Exception e){
}finally{
try {
fis.close();
} catch (Exception e) {}
}
return props;
}
/**
*通过key值取值*/
public String get(String key)
{
Properties props = get();
return (props!=null)?props.getProperty(key):null;
}
/**
* 存值*/
public void set(String key,String value)
{
Properties props = get();
props.setProperty(key, value);
setProps(props);
}
/**
* 删除所有的数据*/
public void remove(String...key)
{
Properties props = get();
for(String k : key)
props.remove(k);
setProps(props);
}
//
private void setProps(Properties p) {
FileOutputStream fos = null;
try{
File dirConf = MainActivity.this.getDir("config", Context.MODE_PRIVATE);
File conf = new File(dirConf, "config");
fos = new FileOutputStream(conf);
p.store(fos, null);
fos.flush();
}catch(Exception e){
e.printStackTrace();
}finally{
try {
fos.close();
} catch (Exception e) {}
}
}
}
Properties是继承Hashtable的,就完成设置属性的动作,获取的动作类似,最后从哈希表中根据key拿到value,整个过程比较简单
(相对于SharePreference的xml操作比较简单)。
http://blog.csdn.net/yinlijun2004/article/details/6981954(高手专线)