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

📄 useradmin.java

📁 自己写的一个电子相册的java程序 功能强大望大家喜欢
💻 JAVA
字号:
/* * UserAdmin.java * * Created on 2004年12月23日, 上午10:24 * 这个类主要用于管理用户 * */package com.mg.admin;import java.io.*;import java.util.*;import org.jdom.*;import org.jdom.input.*;import org.jdom.output.*;/** * 这个类主要用于用户管理操作 */public class UserAdmin extends Object {    //********************成员变量************************	/**	 * 当前的用户类型为管理员	 */	public static final String USER_TYPE_ADMIN = "Admin";	/**	 * 当前的用户类型为普通用户	 */	public static final String USER_TYPE_USER = "User";	    /**     * 操作的根路径     */    private String rootPath;    /**     * 当前操作的XML文件名     */    private static final String TABLE_NAME = "users.xml";    //********************成员函数************************    /**     * 构造函数,如果使用这个构造函数,需要调用setRootPath设置根路径     * <p>     * @see #setRootPath     */    public UserAdmin() {    }    /**     * 设置操作的根路径     * <p>     * @see #getRootPath     */    public void setRootPath(String rp) {        if (rootPath != rp) {            rootPath = rp;        }    }    /**     * 返回操作的根路径     * <p>     * @return 返回根路径     * <p>     * @see #setRootPath     */    public String getRootPath() {        return rootPath;    }    /**     * 获得当前的XML Document对象     */    private Document getDoc() {        Document doc = null;        PrintStream out = System.out;        //读取文件        try {            File file = new File(rootPath, TABLE_NAME);            if (file.exists()) {                SAXBuilder builder = new SAXBuilder(false);                doc = builder.build(file);            }        } catch(Exception e) {            out.println("Exception: " + e.toString());        }                return doc;    }        /**     * 连接当前的rootPath下的users.xml名的XML文件,     * 并修改用户帐户信息,如果成功则返回true,否则返回false。     * <p>     * @param uid 用户ID     * @param pwd 密码     * @param name 用户姓名     * @param sex 性别     * @param age 年龄     * @param tel 电话号码     * @param address 地址     * @param email     */    public boolean modify(String uid, String pwd,    			String name,String sex,    			String age, String tel,    			String address, String email) {        boolean ret = false;        Document doc=getDoc();        if (doc != null) {            String [] params = new String[8];            params[0] = uid;            params[1] = pwd;            params[2] = name;            params[3] = sex;            params[4] = age;            params[5] = tel;            params[6] = address;            params[7] = email;            // 获取根节点            Element root = doc.getRootElement();            List list = root.getChildren();            Iterator list_i = list.iterator();                        Element userNode=null;            while (list_i.hasNext()) {                //获取子节点                Element e = (Element)list_i.next();                //获取二级子节点                Iterator row_i = e.getChildren().iterator();                                while (row_i.hasNext()) {                    Element ee = (Element) row_i.next();                    if ((ee.getName().equals("userid")) &&                     	 (ee.getText().equals(uid))) {                            userNode = e;                            break;                    }                }                                //找到user节点后,修改数据,然后退出循环                int index = 0;                if (userNode != null) {                    row_i = userNode.getChildren().iterator();                    while (row_i.hasNext()) {                        Element ee = (Element) row_i.next();                        ee.setText(params[index]);                        if (++index >= params.length) {                            break;                        }                    }                    break;                }            }                        //保存修改            save(doc);            ret = true;        }        return ret;    }                                            /**     * 连接当前的rootPath下的users.xml名的XML文件,     * 并注册新用户,如果成功则返回true,否则返回false。     * <p>     * @param uid 用户ID     * @param pwd 密码     * @param name 用户姓名     * @param sex 性别     * @param age 年龄     * @param tel 电话号码     * @param address 地址     * @param email     */    public boolean register(String uid, String pwd,                            String name,String sex,                            String age, String tel,                            String address, String email){        boolean ret = false;                Document doc=getDoc();        if (doc != null) {            // 获取根节点            Element root = doc.getRootElement();            List list = root.getChildren();            Element newE = new Element("user");                        Element eUserID = new Element("userid");            eUserID.setText(uid);            newE.addContent(eUserID);                        Element ePassword = new Element("password");            ePassword.setText(pwd);            newE.addContent(ePassword);                        Element eName = new Element("name");            eName.setText(name);            newE.addContent(eName);                                    Element eSex = new Element("sex");            eSex.setText(sex);            newE.addContent(eSex);                         Element eAge = new Element("age");            eAge.setText(age);            newE.addContent(eAge);                          Element eTel = new Element("tel");            eTel.setText(tel);            newE.addContent(eTel);              Element eAddress = new Element("address");            eAddress.setText(address);            newE.addContent(eAddress);                          Element eEmail = new Element("email");            eEmail.setText(email);            newE.addContent(eEmail);                                                              Element eType = new Element("type");            eType.setText(USER_TYPE_USER);            newE.addContent(eType);                          root.addContent(newE);            //list.add(newE);            //保存修改            save(doc);            ret = true;        }        return ret;    }        /**     * 保存修改到XML文件     * <p>     * @param doc 要保存的Document对象     */    private void save(Document doc) {        //保存修改        try {        	Format format = Format.getPrettyFormat();        	format.setEncoding("GBK");        	XMLOutputter out = new XMLOutputter(format);        	File file = new File(rootPath, TABLE_NAME);        	FileOutputStream fos = new FileOutputStream(file);        	out.output(doc, fos);        } catch(Exception e) {            System.out.println("Exception: " + e.toString());        }    }        /**     * 连接当前的rootPath下的users.xml名的XML文件,     * 如果当前用户已经存在则返回true,否则返回false。     * <p>     * @param uid 要检查的用户ID     * <p>     * @return 当前用户是否存在,如果存在就返回true,否则返回false。     */    public boolean checkUser(String uid) {               Document doc = getDoc();        if (doc != null) {            List list;            // 获取根节点            Element root = doc.getRootElement();            list = root.getChildren();            Iterator list_i = list.iterator();            while (list_i.hasNext()) {                //获取子节点                Element e = (Element)list_i.next();                //获取二级子节点                Iterator row_i = e.getChildren().iterator();                while (row_i.hasNext()) {                    Element ee = (Element) row_i.next();                    if ((ee.getName().equals("userid")) &&                    	(ee.getText().equals(uid))) {                    	return true;                    }                }            }        }        return false;    }            /**     * 用户登录系统     * <p>     * @param uid 用户ID     * @param pwd 密码     * <p>     * @param 如果登录成功则返回Register.USER_TYPE_ADMIN     * 或者Register.USER_TYPE_USER。如果登录失败,则返回""。     */    public String login(String uid, String pwd) {        Document doc = getDoc();        if (doc != null) {            // 获取根节点            Element root = doc.getRootElement();            List list = root.getChildren();            Iterator list_i = list.iterator();                        while (list_i.hasNext()) {                //获取子节点                Element e = (Element)list_i.next();                //获取二级子节点                Iterator row_i = e.getChildren().iterator();                                while (row_i.hasNext()) {                    Element ee = (Element) row_i.next();                    if (ee.getName().equals("userid")) {                    	if (!ee.getText().equals(uid)) {                            break;                    	}                    }                     if (ee.getName().equals("password")) {                    	if (!ee.getText().equals(pwd)) {                            break;                    	}                    }                     if (ee.getName().equals("type")) {                    	return ee.getText();                    }                }            }        }        return "";    }            /**     * 把用户信息返回到Hashtable中,其内容应该为:     *  userid 用户ID     *  pwd 密码     *  name 用户姓名     *  sex 性别     *  age 年龄     *  tel 电话号码     *  address 地址     *  email     *  type     */    public Hashtable getUserInfo(String uid) {        Hashtable ht = new Hashtable();                Document doc = getDoc();        if (doc != null) {            // 获取根节点            Element root = doc.getRootElement();            List list = root.getChildren();            Iterator list_i = list.iterator();                        Element userNode=null;            while (list_i.hasNext()) {                //获取子节点                Element e = (Element)list_i.next();                //获取二级子节点                Iterator row_i = e.getChildren().iterator();                                while (row_i.hasNext()) {                    Element ee = (Element) row_i.next();                    if ((ee.getName().equals("userid")) &&                     	 (ee.getText().equals(uid))) {                            userNode = e;                            break;                    }                }                                //找到user节点后,退出循环                if (userNode != null) {                    row_i = userNode.getChildren().iterator();                    while (row_i.hasNext()) {                        Element ee = (Element) row_i.next();                        ht.put(ee.getName(), ee.getText());                    }                    break;                }            }        }        return ht;    }   }

⌨️ 快捷键说明

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