📄 daoimpl.java
字号:
package dao;
import java.io.*;
import java.util.*;
import entity.*;
import exception.*;
public class DaoImpl implements AccountDao{
public void deleteAccount(long id) {
File file=new File("account");
File[] l=file.listFiles();
for(File f:l){
if(f.getName().startsWith(Long.toString(id)));
f.delete();
}
}
public Account getAccountById(long id) throws Exception{
File file=new File("account");
File[] l=file.listFiles();
FileInputStream fis=null;
ObjectInputStream ois=null;
Account a=null;
for(File f:l){
if(f.getName().startsWith(Long.toString(id))){
try {
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
a = (Account) ois.readObject();
return a;
}
finally{
if(ois!=null)
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return null;
}
public List getAccountByPersonId(String personId) throws Exception{
File file=new File("account");
File[] l=file.listFiles();
FileInputStream fis=null;
ObjectInputStream ois=null;
Account a=null;
List list=new ArrayList();
for(File f:l){
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
a = (Account) ois.readObject();
if(a.getPersonId().equals(personId)){
list.add(a);
}
}
if(ois!=null) ois.close();
return list;
}
public void insertAccount(Account c)throws Exception {
File file=new File("account");
if(!file.exists()) file.mkdir();
File[] l=file.listFiles();
FileOutputStream fos=new FileOutputStream("account\\"+c.getCardId()+".dat");
ObjectOutputStream os=new ObjectOutputStream(fos);
os.writeObject(c);
if(os!=null) os.close();
}
public void updateAcccount(Account c) throws Exception{
FileOutputStream fos=new FileOutputStream("account\\"+c.getCardId()+".dat");
ObjectOutputStream os=new ObjectOutputStream(fos);
os.writeObject(c);
if(os!=null) os.close();
}
public long findLastId() throws Exception{
// TODO Auto-generated method stub
FileOutputStream fos=null;
DataOutputStream dos=null;
FileInputStream fis=null;
DataInputStream dis=null;
File file =new File("id.dat");
Account a=null;
if (!file.exists()) {
file.createNewFile();
long id=100001;
fos=new FileOutputStream(file);
dos=new DataOutputStream(fos);
dos.writeLong(id);
dos.close();
return id;
}else{
fis=new FileInputStream(file);
dis=new DataInputStream(fis);
long id=dis.readLong();
id++;
return id;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -