Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42194
  • 博文数量: 10
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-03 10:23
文章分类

全部博文(10)

文章存档

2011年(1)

2008年(9)

我的朋友
最近访客

分类: Java

2008-11-17 12:39:45

近日,做了一个与FTP服务器上传下载的小程序。未实现断点续传,可支持多点上传或下载。XML配置。
XML配置文件:


 
  
  
  
   
  
  
  
  
  
  
  
  
  
  
  
  
 
 
读配置文件的业务类:
package com.gmt.ftp;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import com.fy.framework.log.ILog;
import com.fy.framework.log.LogFactory;
import com.fy.framework.xmlutil.IXMLService;
import com.fy.framework.xmlutil.XMLServiceFactory;
import com.gmt.ftp.util.FTPContents;
/**
 * 解析配置XML文件
 * @author
 *
 */
public class Configuration{
 
 protected static ILog log = LogFactory.getLogger();
 
 private static Configuration config = new Configuration();
 
 private Configuration(){}
 
 public static Configuration getInstance(){
  return config==null?new Configuration():config;
 }
 
 /**
  *
  * 解析配置文件[XML]
  *
  * @param file
  *    配置文件路径
  *
  * @return
  *    
  *
  */
 public List parser(File file){
  
  List listData = new ArrayList();
  
  InputStream inputStream=null;
  InputSource inputSource=null;
  Document doc=null;
  
  try {
   inputStream=new FileInputStream(file);
   inputSource=new InputSource(inputStream);
   
   IXMLService ixmlservice=XMLServiceFactory.getXMLService();
   doc=ixmlservice.getDocument(inputSource);
   Element el=doc.getDocumentElement();
   NodeList nodeList=el.getElementsByTagName(FTPContents.CONFIG_BEAN);
   
   for(int i=0;i    Element elRecord=(Element)nodeList.item(i);
    listData.add(parseElement(elRecord));
   }
   
  } catch(Exception ex){
   log.error(ex.getMessage(),ex);
  } finally{
   if (inputStream!=null){
    try{
     inputStream.close();
    } catch(Exception e){}
    inputStream=null;
   }
   inputSource=null;
   doc=null;
  }
  return listData;
 }
 
 private Map parseElement(Element elRecord){
  
  Map mapNode=new HashMap();
  NodeList nodeList=elRecord.getChildNodes();
  
  for (int i=0,loop=nodeList.getLength();i   
   Element elField=(Element)nodeList.item(i);
   
   String nodeName=elField.getAttribute(FTPContents.CONFIG_NAME);
   nodeName=nodeName==null?"":nodeName.toUpperCase();
   
   String nodeValue=elField.getAttribute(FTPContents.CONFIG_VALUE);
   nodeValue=nodeValue!=null?nodeValue.trim():"";
   
   mapNode.put(nodeName,nodeValue);
  }
  return mapNode;
 }
}
 
 
阅读(1014) | 评论(0) | 转发(0) |
0

上一篇:时刻要成长

下一篇:FTP下载上传(3)

给主人留下些什么吧!~~