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

📄 objectserialuserdao.java

📁 在学习完JAVA基础后,做的一个小小的项目.一个简单的聊天程序.呵呵,看看吧,那时候才刚刚接触到DAO,哎,惊叹的是设计思想. 呵呵,如果你也刚刚学完JAVA基础,有对SWING,AWT比较喜欢的话
💻 JAVA
字号:
package server.dao;

import java.util.*;
import java.io.*;

import server.model.User;
//用对象序列化实现DAO
public class ObjectSerialUserDAO implements UserDAO {
	private String fileName;

	public ObjectSerialUserDAO(String fileName) {
		this.fileName = fileName;
	}

	public Map<String, User> getAllUsers() {
		Map<String,User> users=new HashMap<String,User>();
		ObjectInputStream in=null;
		try {
			FileInputStream fi=new FileInputStream(fileName);
			in=new ObjectInputStream(fi);
			while(true){
				Object o=in.readObject();
				User u=(User)o;
				users.put(u.getUserName(),u);
			}
		} catch (Exception e) {
			
		} 
		finally{
			try {
				if (in!=null) in.close();
			} catch (IOException e) {
			}
		}
		return users;
	}

	public List<User> getAllUsersByClassNumber(String classNumber) {
		Map<String,User> users=getAllUsers();
		List<User> l=new ArrayList<User>();
		Set<String> userNames=users.keySet();
		for(String s:userNames){
			User u=users.get(s);
			if (classNumber.equals(u.getClassNumber())){
				l.add(u);
			}
		}
		return l;
	}

	public boolean saveUser(User u) {
		Map<String,User> users=getAllUsers();
		try {
			FileOutputStream fo=new FileOutputStream(fileName);
			ObjectOutputStream out=new ObjectOutputStream(fo);
			Collection<User> us=users.values();
			for(User u2:us){
				out.writeObject(u2);
			}
			out.writeObject(u);
			out.close();
			return true;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
	
	

}

⌨️ 快捷键说明

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