package MobileContacts.dao.Impl; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.List; import javax.imageio.stream.FileImageInputStream; import MobileContacts.entity.Contacts; public class MContactsDaoImpl implements MContactsdao { private List<Contacts> list = null; private final String FILE_PATH = "contacts.dat"; File file= new File(FILE_PATH); public MContactsDaoImpl(){ this.list =new ArrayList<>(); if(file.length()!=0&&file.length()<4){ this.list.addAll(readObj()); } } public List<Contacts> getMenus() { return this.list; } private List<Contacts> readObj() { List<Contacts> ct =new ArrayList<>(); ObjectInputStream ois =null; Contacts con =null; try { ois = new ObjectInputStream(new FileInputStream(file)); while((con = (Contacts) ois.readObject())!=null){ ct.add(con); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(ois!=null){ try { ois.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Collections.sort(ct,new Comparator<Contacts>() { public int compare(Contacts con1,Contacts con2){ return con2.getName().compareTo(con1.getName()); } }); return ct; } @Override public List<Contacts> selectAllContactss() { // TODO Auto-generated method stub return null; } @Override public void insertContacts(Contacts Contacts) { // TODO Auto-generated method stub this.list.add(Contacts); writerObj(); } private void writerObj() { // TODO Auto-generated method stub ObjectOutputStream oos=null; try { oos = new ObjectOutputStream(new FileOutputStream(file)); for(Contacts c:this.list){ oos.writeObject(c); } //oos.write(null); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(oos!=null){ try { oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Override public void deleteContacts(Contacts Contacts) { // 删除 Contacts con =null; for(Contacts c:list){ if(Contacts.getName().equals(c.getName())){ con =c; break; } } this.list.remove(con); writerObj(); } @Override public void alterContacts(String name, Double price) { // TODO Auto-generated method stub } @Override public Contacts getContactsByName(String name) { // 按照名字查找 if(this.list.isEmpty()){ return null; }else{ for(Contacts c:list){ if(name.equals(c.getName())){ return c; } } } return null; } @Override public Contacts getContactsByweChar(String weChar) { // 按微信号查找 if(this.list.isEmpty()){ return null; }else{ for(Contacts c:list){ if(weChar.equals(c.getWeChar())){ return c; } } } return null; } }
最近下载更多
asdgcyv LV1
2023年5月31日
15342201772 LV9
2022年12月4日
balabalawuyu LV6
2022年11月24日
1102445814 LV1
2022年6月25日
杨小姐好棒棒 LV3
2022年5月24日
Demo1111 LV30
2021年12月6日
N LV1
2021年6月17日
MrLinsir LV2
2020年6月19日
如夝萌灵 LV1
2020年5月13日
byy1314520 LV1
2020年4月18日
最近浏览更多
微信网友_6589859840430080
2023年8月3日
暂无贡献等级
asdgcyv LV1
2023年5月31日
shushs LV1
2023年5月31日
adminadminsqwqe LV8
2023年1月30日
Willson88888 LV3
2022年12月13日
15342201772 LV9
2022年12月4日
balabalawuyu LV6
2022年11月24日
飞梦ff LV8
2022年7月24日
1102445814 LV1
2022年6月25日
又见梨园 LV1
2022年6月1日