android---文件保存之Propertes
Properties(属性),可以把Properties继承自Hashtable,理解成一个Hashtable ,不过唯一不同的是,Properties对应的“键-值”必须是字符串形式的数据类型。Files 数据存储主要是使用 Properties 配合 FileInputStream或者FileOutputStream对文件写入操作。
代码
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==btnlogin.getId()){
Properties properties=new Properties();
String name=etname.getText().toString();
String pwd=etpwd.getText().toString();
try {
// 文件创建模式:MODE_APPEND
// 如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。
// 文件创建模式:MODE_PRIVATE
// 默认模式,在那里创建的文件只能由应用程序调用,即为私有的
// 文件创建模式:MODE_WORLD_READABLE
// 允许所有其他应用程序有读取和创建文件的权限。
// 文件创建模式:MODE_WORLD_WRITEABLE
// 允许所有其他应用程序具有写入、访问和创建的文件权限。
FileOutputStream out=this.openFileOutput("login.cfg",Context.MODE_PRIVATE);
properties.put("name", name);
properties.put("pwd", pwd);
try {
properties.store(out, "");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
loadInfo();
}
}
//保存文件
public void loadInfo(){
Properties properties=new Properties();
try {
FileInputStream in=this.openFileInput("login.cfg");
try {
properties.load(in);
String name=properties.get("name").toString()+"///";
String pwd=properties.get("pwd").toString()+"///";
this.etname.setText(name);
this.etpwd.setText(pwd);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}