📄 fileconfigxml.java
字号:
package com.ntsky.xml.bbs;import java.util.*;import org.dom4j.*;import org.dom4j.io.*;import org.dom4j.dom.*;import javax.servlet.http.*;import org.apache.log4j.Logger ;import com.ntsky.xml.XMLPath;import com.ntsky.xml.XMLReadWrite;import com.ntsky.bbs.file.FileConfig;import com.ntsky.xml.bbs.dto.FileConfigDTO;/** * <p>Title: NtSky Open Source BBS</p> * <p>Description: 文件上传类</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: www.fm880.com</p> * @author 姚君林 * @version 1.0 */public class FileConfigXML { private final static Logger logger = Logger.getLogger(FileConfigXML.class); /** * 获取xml信息 * @return Iterator */ public FileConfig getFileXMLInfo(String type){ FileConfig fileConfig = null; System.out.println("select = " + type); try { Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_FILE); List list = document.selectNodes("//"+type); //枚举所有的节点 Iterator rs_root = list.iterator(); System.out.print("是否有xml节点 :" + String.valueOf(rs_root.hasNext())+"\r\n"); for (; rs_root.hasNext(); ) { fileConfig = new FileConfigDTO(); //获取节点 Element element = (Element) rs_root.next(); setNode(fileConfig, element, "type"); setNode(fileConfig, element, "size"); setNode(fileConfig, element, "totalSize"); setNode(fileConfig, element, "totalNum"); setNode(fileConfig, element, "path"); } } catch (Exception ex) { System.out.print(ex.getMessage()); } return fileConfig; } /** * 设置节点的值 */ public synchronized void setNode(FileConfig fileConfig ,Element element ,String node ){ Iterator rs = element.elementIterator(node); while (rs.hasNext()) { Element elt = (Element) rs.next(); if ("type".equals(node)) { fileConfig.setType(getFileType(elt.getText())); System.out.print("type节点的值 :" + elt.getText()); } if ("size".equals(node)) { fileConfig.setSize(Long.valueOf(elt.getText()).longValue()); } if ("totalSize".equals(node)) { fileConfig.setTotalSize(Long.valueOf(elt.getText()).longValue()); System.out.print("totalSize节点的值 :" + elt.getText()); } if ("totalNum".equals(node)) { fileConfig.setTotalNum(Integer.parseInt(elt.getText())); System.out.print("totalNum节点的值 :" + elt.getText()); } if ("path".equals(node)) { fileConfig.setPath(elt.getText()); System.out.print("path节点的值 :" + elt.getText()); } } } /** * 文件列表 * @param fileType String * @return List */ public List getFileType(String fileType){ StringTokenizer st = new StringTokenizer(fileType,","); List listType = new ArrayList(); System.out.println(listType +"包含','的元素 : " + st.countTokens() +"\n\r" ); while(st.hasMoreTokens()){ listType.add(st.nextToken()); } return listType; } /** * 更新配置文件数据 */ public void setConfig(String select,String type,String size,String totalSize,String totalNum,String path){ try{ Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_FILE); List list = document.selectNodes("//ntsky/"+select ); Iterator rs = list.iterator(); while(rs.hasNext()){ Element element=(Element)rs.next(); upNode(element, "type" ,type); upNode(element, "size" ,size); upNode(element, "totalSize" ,totalSize); upNode(element, "totalNum" ,totalNum); upNode(element, "path" ,path); } XMLReadWrite.getInstance().write(document, XMLPath.NTSKY_FILE); } catch (Exception ex) { System.out.print("写入XML数据发生错误 : " + ex.getMessage()); } } /** * 更新xml节点 */ public synchronized void upNode(Element element ,String node ,String value){ Iterator rs = element.elementIterator(node); while (rs.hasNext()) { Element elt = (Element) rs.next(); if ("type".equals(node)) { if("".equals(value)){ value = "please enter file type!"; elt.setText(value); } else{ elt.setText(value); } } if ("size".equals(node)) { if("".equals(value)){ value = "0"; elt.setText(value); } else{ elt.setText(value); } } if ("totalSize".equals(node)) { if("".equals(value)){ value = "0"; elt.setText(value); } else{ elt.setText(value); } } if ("totalNum".equals(node)) { if("".equals(value)){ value = "0"; elt.setText(value); } else{ elt.setText(value); } } if ("path".equals(node)) { if("".equals(value)){ value = "please enter file path!"; elt.setText(value); } else{ elt.setText(value); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -