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

📄 messageadmin.java

📁 本系统为在线相册系统
💻 JAVA
字号:
/* * MessageAdmin.java * * Created on 2004年12月23日, 上午10:24 * 这个类主要用于管理用户留言 * */package com.mg.admin;import java.io.Serializable;import java.io.*;import java.util.*;import org.jdom.*;import org.jdom.input.*;import org.jdom.output.*;/** * 这个类主要用于管理用户消息 */public class MessageAdmin extends Object{    //********************成员变量************************	    /**     * 操作的根路径     */    private String rootPath;    /**     * 当前操作的XML文件名     */    private static final String TABLE_NAME = "messages.xml";    //********************成员函数************************    /**     * 构造函数,如果使用这个构造函数,需要调用setRootPath设置根路径     * <p>     * @see #setRootPath     */    public MessageAdmin() {    }    /**     * 设置操作的根路径     * <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下的messages.xml名的XML文件,     * 并返回所有的留言。     * <p>     * @return 封装了Message对象的Vecotr对象。     */    public Vector getMessages() {        Vector ret = new Vector();        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();                //获取二级子节点                List details = e.getChildren();                if (details.size()<Message.ELEMENT_NUM) {                    //错误                    break;                }                                //添加Message对象                String text1 = ((Element)details.get(0)).getText();                String text2 = ((Element)details.get(1)).getText();                String text3 = ((Element)details.get(2)).getText();                String text4 = ((Element)details.get(3)).getText();                                Message message = new Message();                message.setTitle(text1);                message.setContent(text2);                message.setDateTime(text3);                message.setUser(text4);                ret.add(message);                            }        }        return ret;    }                                            /**     * 连接当前的rootPath下的messages.xml名的XML文件,     * 并添加一条留言,如果成功则返回true,否则返回false。     * <p>     * @param message Message对象     */    public boolean add(Message message) {        boolean ret = false;                Document doc=getDoc();        if (doc != null) {            // 获取根节点            Element root = doc.getRootElement();            Element newE = new Element("message");                        Element eTitle = new Element("title");            eTitle.setText(message.getTitle());            newE.addContent(eTitle);                        Element eContent = new Element("content");            eContent.setText(message.getContent());            newE.addContent(eContent);                           Element eDateTime = new Element("datetime");            eDateTime.setText(message.getDateTime());            newE.addContent(eDateTime);                           Element eUserID = new Element("userid");            eUserID.setText(message.getUser());            newE.addContent(eUserID);            root.addContent(newE);            //保存修改            save(doc);            ret = true;        }        return ret;    }       /**     * 连接当前的rootPath下的messages.xml名的XML文件,     * 并删除一条留言,如果成功则返回true,否则返回false。     * <p>     * @param message Message对象     */    public boolean delete(Message message) {        boolean ret = false;                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();                //获取二级子节点                List details = e.getChildren();                if (details.size()<Message.ELEMENT_NUM) {                    //错误                    return ret;                }                                //判断是否相等                String text1 = ((Element)details.get(0)).getText();                String text2 = ((Element)details.get(1)).getText();                String text3 = ((Element)details.get(2)).getText();                String text4 = ((Element)details.get(3)).getText();                if (!text1.equals(message.getTitle()) ||                    !text2.equals(message.getContent()) ||                    !text3.equals(message.getDateTime()) ||                    !text4.equals(message.getUser()))  {                    //如果不相等则继续查找                    continue;                } else {                    //删除当前节点                    root.removeContent(e);                    break;                }            }                        //保存修改            save(doc);            ret = true;        }        return ret;    }    /**     * 连接当前的rootPath下的messages.xml名的XML文件,     * 并删除一条留言,如果成功则返回true,否则返回false。     * <p>     * @param message 要删除的留言序号     */    public boolean delete(int index) {        boolean ret = false;        Document doc=getDoc();        if (doc != null) {            // 获取根节点            Element root = doc.getRootElement();            List list = root.getChildren();                        if ((index < list.size())&&(index>=0)) {                list.remove(index);            } else {                return ret;            }            //保存修改            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());        }    }   }

⌨️ 快捷键说明

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