package guitest.persistent;
import guitest.model.Concat;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.Set;
public class ConcatPersistent extends SqliteDao{
private Properties pro;
private String fileName;
public ConcatPersistent(){
pro = new Properties();
}
public ConcatPersistent(String fileName){
this();
this.fileName = fileName;
}
public void loadPropertiesFile(){
try {
pro.load(new FileInputStream(this.fileName));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void add(Object concat) throws FileNotFoundException, IOException{
loadPropertiesFile();
String name = ((Concat) concat).getName();
String age = String.valueOf(((Concat) concat).getAge());
String sex = ((Concat) concat).getSex();
String email = ((Concat) concat).getEmail();
String phone = ((Concat) concat).getPhone();
pro.setProperty(name+".name", name);
pro.setProperty(name+".age", age);
pro.setProperty(name+".sex", sex);
pro.setProperty(name+".email", email);
pro.setProperty(name+".phone", phone);
pro.store(new FileOutputStream(this.fileName), null);
pro.clear();
}
@Override
public List findAll(){
loadPropertiesFile();
Set set = pro.keySet();
List list = new ArrayList<Concat>();
for(Object o:set){
Concat concat = new Concat();
if(o.toString().endsWith("name")){
String name = o.toString().split("\\.")[0];
concat.setName(pro.getProperty(name+".name"));
concat.setAge(Integer.parseInt(pro.getProperty(name+".age").toString().trim()));
concat.setSex(pro.getProperty(name+".sex"));
concat.setEmail(pro.getProperty(name+".email"));
concat.setPhone(pro.getProperty(name+".phone"));
list.add(concat);
}
}
pro.clear();
return list;
}
@Override
public Concat findByName(String name){
loadPropertiesFile();
Concat concat = new Concat();
concat.setName(pro.getProperty(name+".name"));
concat.setAge(Integer.parseInt(pro.getProperty(name+".age").toString().trim()));
concat.setSex(pro.getProperty(name+".sex"));
concat.setEmail(pro.getProperty(name+".email"));
concat.setPhone(pro.getProperty(name+".phone"));
pro.clear();
return concat;
}
@Override
public boolean delete(Object concat){
boolean flag=false;
String name = ((Concat) concat).getName();
if(name==null || "".equals(name)){
flag = false;
}else{
loadPropertiesFile();
pro.remove(name+".name");
pro.remove(name+".age");
pro.remove(name+".sex");
pro.remove(name+".email");
pro.remove(name+".phone");
try {
pro.store(new FileOutputStream(this.fileName), null);
pro.clear();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
flag = false;
} catch (IOException e) {
// TODO Auto-generated catch block
flag = false;
}
flag = true;
}
return flag;
}
public boolean update(Concat concat){
boolean flag = false;
String name = concat.getName();
if(name==null || "".equals(name)){
flag = false;
}else{
this.delete(concat);
try {
this.add(concat);
flag = true;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
flag = false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
flag = false;
}
}
return flag;
}
public static void main(String [] args){
ConcatPersistent cp = new ConcatPersistent("concat.properties");
Concat concat = new Concat();
concat.setName("何健");
concat.setAge(21);
concat.setSex("男");
concat.setEmail("wjh@126.com");
concat.setPhone("13979877788");
cp.update(concat);
}
@Override
public Object findByName(String name, int pwd) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object findNext() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object findpre() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object findFirst() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object findLast() {
// TODO Auto-generated method stub
return null;
}
}
转载于:https://blog.51cto.com/geekit/1169452