⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accountfiledao.java

📁 纯JAVA代码实现的银行柜员机的基本功能
💻 JAVA
字号:
package dao.impl;
import java.util.*;
import dao.AccountDao;
import entity.Account;
import java.io.*;

public class AccountFileDao implements AccountDao {
	public Account findAccountById(long id) {
		ObjectInputStream in=null;
		try {
			FileInputStream fis=new FileInputStream("accounts.dat");
			in=new ObjectInputStream(fis);
			while(true){
				Account c=(Account)in.readObject();
				if (c.getId()==id) return c;
			}
		} catch (Exception e) {
			return null;
		} 
		finally{
			try {
				if (in!=null) in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	public Collection findAllAccounts() {
		Collection con=new ArrayList();
		ObjectInputStream in=null;
		try {
			FileInputStream fis=new FileInputStream("accounts.dat");
			in=new ObjectInputStream(fis);
			while(true){
				Object o=in .readObject();
				con.add(o);
			}
		} catch (Exception e) {}
		finally{
			try {
				if (in!=null) in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return con;
	}

	public void saveAccount(Account c) {
		Map as=new HashMap();
		ObjectInputStream in=null;
		try {
			FileInputStream fis=new FileInputStream("accounts.dat");
			in=new ObjectInputStream(fis);
			while(true){
				Account ac=(Account)in.readObject();
				as.put(new Long(c.getId()), ac);
			}
		} catch (Exception e) {} 
		finally{
			try {
				if (in!=null) in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		as.put(new Long(c.getId()), c);
		
		ObjectOutputStream out=null;
		try {
			FileOutputStream fos=new FileOutputStream("accounts.dat");
			out = new ObjectOutputStream(fos);
			
			Collection values=as.values();
			Iterator it=values.iterator();
			while(it.hasNext()){
				Object o=it.next();
				out.writeObject(o);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		finally{
			try {
				if (out!=null) out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -