A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15044393192 中级黑马   /  2016-4-10 21:10  /  610 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.notepad.dao;

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

import cn.itcast.notepad.domain.User;
import cn.itcast.notepad.utils.BookUtils;

public class UserDaoImpl implements UserDao {
        private List<User> users;
       
        public UserDaoImpl() {
                try {
                        users = load();
                } catch(Exception e) {
                        users = new ArrayList<User>();
                }
        }
       
        public boolean login(User user) {
                return users.contains(user);       
        }

        public boolean updatePwd(User user) {
                User u = getUserByName(user.getName());
                if(u == null) {
                        return false;
                }
                u.setPassword(user.getPassword());
                this.store();
                return true;
        }

        public boolean regist(User user) {
                User u = getUserByName(user.getName());
                if(u != null) {
                        return false;
                }
                users.add(user);
                this.store();
                return true;
        }
       
        private User getUserByName(String name) {
                for(User u : users) {
                        if(u.getName().equals(name)) {
                                return u;
                        }
                }               
                return null;
        }
       
        public static ArrayList<User> load() throws Exception {
                ObjectInputStream ois = new ObjectInputStream(BookUtils.getInputStream("data/users.dat"));
                return (ArrayList<User>)ois.readObject();
        }
       
        public void store() {
                try {
                        ObjectOutputStream oos = new ObjectOutputStream(
                                        new FileOutputStream(BookUtils.getFile("data/users.dat")));
                        oos.writeObject(users);
                } catch(Exception e) {
                        e.printStackTrace();
                }
        }
}

1 个回复

倒序浏览
据说发技术贴能给黑马币,为什么不给我呢?我好不容易敲个程序
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马