通过dom4j 读取远程连接数据

第一:类dto

第二:本人用三个方法读http://blog.hiredmyway.com/feed网站得数据

// 有两个sax2读取

package com.hiredmyway.index.sax2test;

import org.apache.commons.lang.StringUtils;

import com.hiredmyway.util.string.ShortTextSubString;
import com.hiredmyway.util.string.TitleSubString;

public class RssItemDTO {    
        private String Title = "";
        private String URL = "";        
        private String description="";
        private String pubDate="";
        private String imageUrl = "";
        private int id;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getDescription() {
            if(StringUtils.isNotBlank(description)){
                description = new ShortTextSubString().trimSubString(description);
            }
            return description;
        }
        public void setDescription(String description) {
            this.description = description;
        }
        public void setTitle(String Title) {
            if(StringUtils.isNotBlank(this.Title)){
                this.Title = new TitleSubString().trimSubString(this.Title);
            }
            this.Title = Title;
        }        
        public void setURL(String URL) {
            this.URL = URL;
        }
        
        public String toString() {            
            return this.Title+":"+this.pubDate+":"+this.URL+":"+this.description+":"+this.getImageUrl();
        }
        public String getTitle() {
            return Title;
        }
        public String getURL() {
            return URL;
        }
        public String getPubDate() {
            return pubDate;
        }
        public void setPubDate(String pubDate) {
            this.pubDate = pubDate;
        }
        
        public String getImageUrl() {
            return imageUrl;
        }
        public void setImageUrl(String imageUrl) {
            this.imageUrl = imageUrl;
        }

}

-------------------------------------------------

package com.hiredmyway.index.TestDom4j;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

import com.hiredmyway.index.sax2test.RssItemDTO;
import com.hiredmyway.util.SysUtil;


public class InfoXML {
    
    public static Document parse2Document(String xmlFilePath) throws IOException {
        SAXReader reader = new SAXReader();
        Document document = null;
        try {
            URL u = new URL(xmlFilePath);
            URLConnection UC = u.openConnection();
            UC.setRequestProperty("User-agent", "www.hiredmyway.com");
//            InputStream in = InfoXML.class.getResourceAsStream(xmlFilePath);
            InputStream in = UC.getInputStream();
//            document = reader.read(in);
            document = reader.read(u);
        } catch (DocumentException e) {
            System.out.println(e.getMessage());
            System.out.println("");
            e.printStackTrace();
        }
        return document;
    }
    public void doInfoXML(String infoXML) throws IOException
    {

      SAXReader reader = new SAXReader();

      Document document = parse2Document(infoXML);
    
      try
      {
//       Element root = (Element) document.getRootElement();
       List<Element> list = document.selectNodes("/rss/channel/item");
//       if (!list.isEmpty()) {
//           for (Element element : list){
//               System.out.println(element.elementText("title"));
//              
//               System.out.println(SysUtil.convertDateStringToString(element.elementText("pubDate")));
//               System.out.println(element.elementText("description"));
//               System.out.println(element.elementText("/rss/channel/item/content:encoded"));
//               System.out.println( element.attributeValue(".content:encoded"));
//               System.out.println(element.element("content:encoded").getText());
//               System.out.println("---------");
//           }
//           
//       }
       
       
       Iterator it = list.iterator();
       RssItemDTO dto = null;
       int i =0;
       while(it.hasNext())
       {
           dto = new RssItemDTO();
           Node nodex=(Node)it.next();
           String title = getXmlValue("title", nodex);
           dto.setTitle(title);
           String pubDate = getXmlValue("pubDate", nodex);

         //Fri, 28 Oct 2011 13:45:36 +0000
           System.out.println(pubDate);
           dto.setPubDate(SysUtil.convertDateStringToString(pubDate));
           String content_encoded = getXmlValue("content:encoded", nodex);
           List img = getImageUrl(content_encoded);
           dto.setImageUrl((String)img.get(0));

          if (null != dto) {
              System.out.println("title="+dto.getTitle());

        //10/28/11
              System.out.println("Date="+dto.getPubDate());
              System.out.println("content:encoded="+dto.getImageUrl());
          }

        System.out.println(" --------------------- "+i++);  
       }
      } catch (Exception e1)
      {
       e1.printStackTrace();
      }
    }
    public static void main(String[] args) throws IOException
    {
      InfoXML xml=new InfoXML();
 
      String Url = "http://blog.hiredmyway.com/feed";
      xml.doInfoXML(Url);
      
    }

    private List<String> getImageUrl(String content) {
        String img = "";
        Pattern p_image;
        Matcher m_image;
        List<String> pics = new ArrayList<String>();
        String regex_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
        p_image = Pattern.compile(regex_img, Pattern.CASE_INSENSITIVE);
        m_image = p_image.matcher(content);
        while (m_image.find()) {
            img = img + "," + m_image.group();
             Matcher m  = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
            while (m.find()) {
                pics.add(m.group(1));
            }
        }
        return pics;

    }
    
    private String getXmlValue(String attribute, Node nodex){
        List list = nodex.selectNodes(attribute);
        Iterator it = list.iterator();
        String resources="";
        while (it.hasNext()){
            Node node = (Node)it.next();
             resources = node.getStringValue();
           break;
         
        }
        return resources;
        
    }
}

===============================================================


package com.hiredmyway.util;

import java.lang.reflect.Method;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import net.sf.json.JSONObject;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.log4j.Logger;

import com.hiredmyway.action.employer.EmployerDashBoardAction;
import com.hiredmyway.dto.PaymentInfoDTO;
import com.hiredmyway.dto.ZipCodeDTO;
import com.hiredmyway.enums.KindEnum;
import com.hiredmyway.enums.ResumeOrgJobStatusEnum;
import com.hiredmyway.pojo.Address;
import com.hiredmyway.pojo.BasePojo;
import com.hiredmyway.pojo.Enums;
import com.hiredmyway.pojo.OrganizationProfile;
import com.hiredmyway.pojo.Users;
import com.hiredmyway.service.payment.util.AuthNet.CustomerPaymentProfile;
import com.hiredmyway.service.payment.util.AuthNet.CustomerProfile;
import com.opensymphony.xwork2.validator.validators.EmailValidator;

public class SysUtil {
    private static final String BROWSE_UNIQUE = "p/";
    private static final String VIEW_ACTIVE = "viewActiveResume.action";
    private static Logger logger = Logger.getLogger(SysUtil.class);
    
    @SuppressWarnings("unchecked")
    public static List convertToList(Set<BasePojo> set) {
        Iterator it = set.iterator();
        List list = new ArrayList();
        if (set != null && set.size() != 0) {
            while (it.hasNext()) {
                Object pojo = it.next();
                list.add(pojo);
            }
        }
        sort(list);
        return list;
    }

    
    public static Set<BasePojo> removeObj(Set<BasePojo>list){
        Set<BasePojo> basePojoList = new HashSet<BasePojo>();
        for(BasePojo pojo:list){
            if(!pojo.getDeleted()){
                basePojoList.add(pojo);
            }
        }
        return basePojoList;
    }
    
    
    public static List<BasePojo> removeObj(List<BasePojo>list){
        List<BasePojo> basePojoList = new ArrayList<BasePojo>();
        for(BasePojo pojo:list){
            if(!pojo.getDeleted()){
                basePojoList.add(pojo);
            }
        }
        sort(basePojoList);
        return basePojoList;
    }
    
    
    public static void sort(List<BasePojo> list){
        Collections.sort(list, new Comparator<BasePojo>(){
            public int compare(BasePojo o1, BasePojo o2){
                if(o1.getId() > o2.getId())
                    return 1;
                else
                    return -1;
            }
        });
    }
    
    
    public static String getUniqueUserUrl(Integer id,String shotName){
        String url =BROWSE_UNIQUE + shotName +"_"+id;
        return url;
    }
    
    public static String viewActiveUrl(String uniqueFlag,Integer id,String trimFullName){
        String url =VIEW_ACTIVE+"?uniqueflag="+uniqueFlag+"&id="+id+"&fullname="+trimFullName;
        return url;
    }
    

    public static String getTrimFullName(String fullName){
        if(fullName !=null){
            return fullName.replace(" ", "");
        }else{
            return "";
        }
    }

    public static String getFullName(Boolean isPrivate,String firstName,String lastName){
        String fullName="";
        if(firstName ==null ||lastName == null){
            return "";
        }else if(isPrivate !=null && isPrivate){
            //private user
            fullName = firstName+" "+lastName.substring(0,1);
        }else{
            fullName = firstName+" "+lastName;
        }
        return fullName;
    }
    
   public static void formatDate(Date data){
       
   }
   
   public static String trimAll(String s){
       String ret = s;
       if(StringUtils.isNotEmpty(s)){
           if(s.contains(" ")){
               ret = s.replaceAll(" ","");
           }
       }
       return ret;
   }
   
   public static List<OptionList> getYesNOList(){
      OptionList op1 = new OptionList("Yes",true);
      OptionList op2 = new OptionList("No",false);
      List<OptionList> list = new ArrayList<OptionList>();
      list.add(op1);
      list.add(op2);
      return list;
  }
 
  public static List<OptionList> getPubliclyOrPrivatelyList(){
      OptionList op1 = new OptionList("Privately held",true);
      OptionList op2 = new OptionList("Publicly held",false);
      List<OptionList> list = new ArrayList<OptionList>();
      list.add(op1);
      list.add(op2);
      return list;
  }
 
  public static List<OptionList> getCustomList(String labelTrue,String labelFalse){
      OptionList op1 = new OptionList(labelTrue,true);
      OptionList op2 = new OptionList(labelFalse,false);
      List<OptionList> list = new ArrayList<OptionList>();
      list.add(op1);
      list.add(op2);
      return list;
  }
 
  /**
     * compare enums by target priority
     * @param cache
     * @param target
     * @param biggerThan
     * @param includeEqual
     * @param kind(optional)
     * @return
     */
    public static String getEnumIds(SysCache cache,Enums target,boolean biggerThan,boolean includeEqual){
        if(target != null && target.getPriority() == null){
            target = SysCache.getInstance().getOneEnum(target.getId());
        }
        if(target == null || target.getPriority() == null){
             logger.error("error target in getEnumsIds,target id:"+target.getId());
             return "";
        }
        
        List<Enums> enums = cache.getEnum(target.getKind());
        List<Integer> resultList = new ArrayList<Integer>();
        Iterator it = enums.iterator();
        while(it.hasNext()){
            Enums e = (Enums)it.next();
            if(e.getPriority() == null){
                logger.error("priority is null can't compare for this enum,"+target.getKind());
            }
            if(biggerThan && e.getPriority() != null){
                if(e.getPriority() > target.getPriority()){
                    resultList.add(e.getId());
                }else if(includeEqual){
                    if(e.getPriority() == target.getPriority()){
                        resultList.add(e.getId());
                    }
                }

            }else{
                if(e.getPriority() != null && e.getPriority()< target.getPriority()){
                    resultList.add(e.getId());
                }else if(includeEqual){
                    if(e.getPriority() != null && e.getPriority() == target.getPriority()){
                        resultList.add(e.getId());
                    }
                }
            }
        }
        String retString = "";
        for (int i = 0; i < resultList.size(); i++) {
            retString += resultList.get(i);
            if(i < resultList.size() -1){
                retString +=",";
            }
        }
        return retString;
    }
    
    
    public static String converListToSqlString(List list){
        String result = "";
        if(list != null && list.size() >0){
            for (int i = 0; i < list.size(); i++) {
                Object obj = list.get(i);
                result += obj.toString();
                if(i < list.size() -1){
                    result +=", ";
                }
            }
        }
        if("".equals(result)){
            result = null;
        }
        return result;
    }
   
   public static String getGoogelMapParameters(Address address){
       if(address==null){
           address = new Address();
       }
        StringBuffer sb = new StringBuffer("");
        sb.append("location=").append("");
        String append ="";
        if(StringUtils.isNotEmpty(address.getAddress1()) ){
            append = address.getAddress1();
        }
        if(StringUtils.isNotEmpty(address.getAddress2())){
            if(StringUtils.isNotEmpty(address.getAddress1()) ){
                append += " , ";
            }
            append += address.getAddress2();
        }
        sb.append("&address=").append(append);
        sb.append("&city=").append(address.getCity()==null?"":address.getCity());
        sb.append("&state=").append(address.getEnums()==null?"":address.getEnums().getCodeDesc());
        sb.append("&zipcode=").append(address.getZipCode()==null?"":address.getZipCode());
        sb.append("&country=").append(address.getEnumsByCountry()==null?"":address.getEnumsByCountry().getCodeDesc());
        
        return sb.toString();
    }
 
  /**
   * @param email
   * @return
   */
   public static boolean isEmail(String email){      
       String regex = EmailValidator.emailAddressPattern;       
       Pattern p =  Pattern.compile(regex);
       Matcher m = null;
       String strEmail[]=email.split(",");
       for(int i=0;i<strEmail.length;i++){
           if(!p.matcher(strEmail[i].trim()).find())
               return false;
       }       
       return true;
   }
   /**
    * Judge the input data
    * @param date
    * @return
    */
   public static boolean isDate(String date){
       String inputDate=date;
       Pattern p = Pattern.compile("\\d{1,2}[/]\\d{1,2}[/]\\d{4}");
        Matcher m = p.matcher(date);
        if(!m.matches()){
            return false;
        }
       
       SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
       SimpleDateFormat sdf1 = new SimpleDateFormat("M/d/yyyy");
       try {
        if (inputDate.equals(sdf.format(sdf.parse(inputDate))) ||inputDate.equals(sdf1.format(sdf1.parse(inputDate))) ) {  
                return true;
            } else {  
               return false;  
            }
        } catch (ParseException e) {        
            e.printStackTrace();
            return false;
        }
   }
   
   public static Date converToDate(String date){
       Date result = null;
       if(SysUtil.isDate(date)){
           try {
               result = DateUtils.parseDate(date, new String[]{"MM/dd/yyyy","M/d/yyyy"});
           } catch (ParseException e) {
               e.printStackTrace();
           }
       }
       return result;
   }
   //trim  remove last comma
   public static String formatEmail(String email){    
       if(email == null){
           return null;
       }
       StringBuilder buffer = new StringBuilder();
       String strEmail[]=email.split(",");
       for(int i=0;i<strEmail.length;i++){
           String str = strEmail[i].trim();
           if(!"".equals(str)){
               buffer.append(str);
               buffer.append(",");
           }
       }
       String formatStr = buffer.toString();
       if(formatStr.endsWith(",")){
           formatStr = formatStr.substring(0, formatStr.length() -1);
       }
       return formatStr;
   }
   
   public static CustomerProfile getCustomerProfile(Users user){
        CustomerProfile customerProfile = new CustomerProfile();
        customerProfile.setMerchantCustomerId(user.getId().toString());
        customerProfile.setEmail(user.getLoginName());
        customerProfile.setDescription(String.valueOf(Calendar.getInstance().getTime().getTime()));
        return customerProfile;
    }
   
   public static CustomerProfile getCustomerProfile(OrganizationProfile organizationProfile){
        CustomerProfile customerProfile = new CustomerProfile();
        customerProfile.setMerchantCustomerId(organizationProfile.getId().toString());
        customerProfile.setEmail(organizationProfile.getUser().getLoginName());
        customerProfile.setDescription(String.valueOf(Calendar.getInstance().getTime().getTime()));
        return customerProfile;
    }   
    
   public static CustomerPaymentProfile getCustomerPaymentProfile(PaymentInfoDTO paymentInfoDTO){
        CustomerPaymentProfile customerPaymentProfile = new CustomerPaymentProfile();
        customerPaymentProfile.setFirstName(paymentInfoDTO.getNameOfCard());
        
        customerPaymentProfile.setLastName("");
        customerPaymentProfile.setAddress(paymentInfoDTO.getAddress1());
        customerPaymentProfile.setCity(paymentInfoDTO.getCity());
        customerPaymentProfile.setState(paymentInfoDTO.getState());
        customerPaymentProfile.setZip(paymentInfoDTO.getZip());
        customerPaymentProfile.setCountry("United States");
        customerPaymentProfile.setPhone(paymentInfoDTO.getPhone());
        customerPaymentProfile.setCardNumber(paymentInfoDTO.getCardNumber());
        customerPaymentProfile.setExpirationDate(paymentInfoDTO.getExpirationYear() + "-" + paymentInfoDTO.getExpirationMonth());
        customerPaymentProfile.setCardCode(paymentInfoDTO.getCcv());    
                
        return customerPaymentProfile;
    }
   
   
   
   
   /**
    * @author Michael  Oct 22, 2010
    * convert an object to json String
    * @param object
    * @return
    */
   public static String objectToJson(Object object) {     
       JSONObject jsonObject = JSONObject.fromObject(object);     
       return jsonObject.toString();     
   }

   /**
    * @author Michael  Oct 22, 2010
    * convert json String to object
    * @param json
    * @param beanClz
    * @return
    */
   public static Object jsonToObject(String json, Class beanClz) {     
       return JSONObject.toBean(JSONObject.fromObject(json), beanClz);     
   }    

   public static boolean isDevMode(){
       boolean result = false;
       String env = SysCache.getInstance().getSysConfig("enviroment");
       if(env != null){
           if(env.equalsIgnoreCase("tomcat") || env.equalsIgnoreCase("dev")){
               result = true;
           }
       }else{
           Logger.getLogger(SysUtil.class).error("error get env config");
       }
       return result;
   }
   
   public static boolean isLiveMode(){
       boolean result = false;
       String env = SysCache.getInstance().getSysConfig("enviroment");
       if(env != null){
           if(env.equalsIgnoreCase("live")){
               result = true;
           }
       }else{
           Logger.getLogger(SysUtil.class).error("error get env config");
       }
       return result;
   }
   
   @Deprecated
   /**
    * @author Michael  Nov 24, 2010
    * to calculate Percent, return percent number in 10,20 ...
    * @param number
    * @param total
    * @return
    */
   public static Integer calculatePercent(int number,int total){
      int ret = 0;
      if(number <=0 || total <= 0){
          ret =  0;
      }else if(number > total){
          ret = 100;
      }else{
         float percent = ((Integer)number).floatValue()/((Integer)total).floatValue();  
         percent = percent * 10; // 0.583 * 10 = 5.83 => 6 => 60
         ret = Math.round(percent)*10;
      }
      return ret;
   }
   
   public static boolean isEqual(Integer integer1, Integer integer2){
       if((integer1 == null && integer2 != null) || (integer1 != null && integer2 == null)){
           return false;
       }else if(integer1 - integer2 != 0){
           return false;
       }else{
           return true;
       }  
   }
   
   public static String filterDeletedStatus(String alias, Integer deletedStatus){
       Integer inprocessingStatus = ((Enums)SysCache.getInstance().getOneEnum(KindEnum.RESUMEORGJOBSTATUSENUM.getKindName(),ResumeOrgJobStatusEnum.INPROCESSING.getCode())).getId();
       Integer draftStatus = ((Enums)SysCache.getInstance().getOneEnum(KindEnum.RESUMEORGJOBSTATUSENUM.getKindName(),ResumeOrgJobStatusEnum.DRAFT.getCode())).getId();
       return " and (" + alias + ".status is null or " + alias + ".status not in (" +  deletedStatus + ", " + inprocessingStatus + ", " + draftStatus + " )) ";
   }
    
   public static String filterContacted(String alias, Integer contactedRelationType, Integer deletedStatus, boolean forJob){
        String filter = "";
        if(forJob){
            filter = " and not exists (select contacted.id from resume_org_job contacted where contacted.deleted = 0  and contacted.job_id = " + alias + ".job_id and contacted.res_id = " + alias + ".res_id and contacted.relation_type = " + contactedRelationType  + SysUtil.filterDeletedStatus("contacted", deletedStatus) + ")";
        }else{
            filter = " and not exists (select contacted.id from resume_org_job contacted where contacted.deleted = 0  and contacted.org_id = " + alias + ".org_id and contacted.job_id is null and contacted.res_id = " + alias + ".res_id and contacted.relation_type = "+ contactedRelationType + SysUtil.filterDeletedStatus("contacted", deletedStatus) + ") ";
        }
        
        filter += filterDeletedForRojStatus(alias);
        
        return filter;        
    }
   
   public static String filterDeletedForRojStatus(String alias){
       String filter = "";
       
       SessionManager sm = SessionManager.get();
       if(sm != null){
          Integer userId = sm.getUserId();
          if(userId != null){
              filter = " and not exists (select rs.id from roj_status rs where rs.deleted = 1  and rs.roj_id = " + alias + ".id and rs.owner = " + userId + ") ";    
          }
       }
       return filter;
    }
   
   
   public static String addFreeOrPremiumApplyConditions(String alias, String freeOrPremium){
       String con = "";
       if(freeOrPremium != null && freeOrPremium.equals(EmployerDashBoardAction.FREE_APPLICATIONS)){
           con = " and " + alias + ".free_apply = 1 ";
       }else if(freeOrPremium != null && freeOrPremium.equals(EmployerDashBoardAction.PREMIUM_APPLICATIONS)){
           con = " and (" + alias + ".free_apply is null or " + alias + ".free_apply = 0)";
       }
       return con;
   }
   
   public static String converToString(List<ZipCodeDTO> list){
        String result = null;
        if(list != null && list.size()>0){
            result ="";
            for (int i = 0; i < list.size(); i++) {
                ZipCodeDTO dto =(ZipCodeDTO)list.get(i);
                result += "'"+dto.getZipcode()+"'";
                if(i < (list.size()-1)){
                    result +=", ";
                }
            }
        }
        return result;
    }
   
   public static String checkNull(Object obj){
       if(obj == null){
           return " ";
       }else{
           return obj.toString();
       }
   }
   
    public static int getDaysBetween(Date beginDate, Date endDate){
        Calendar d1 = new GregorianCalendar();
        d1.setTime(beginDate);

        Calendar d2 = new GregorianCalendar();
        d2.setTime(endDate);

        int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
        int y2 = d2.get(Calendar.YEAR);

        if (d1.get(Calendar.YEAR) != y2) {
            d1 = (Calendar) d1.clone();
            do {
                if(beginDate.getTime() <= endDate.getTime()){
                    days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);
                    d1.add(Calendar.YEAR, 1);
                }else{
                    days -= d1.getActualMaximum(Calendar.DAY_OF_YEAR);
                    d1.add(Calendar.YEAR, -1);
                }
            } while (d1.get(Calendar.YEAR) != y2);
        }
        
        return days;
    }
    
    
    public static String[] convertToStringArray(String target){
        String[] ret = null;
        if(StringUtils.isNotBlank(target)){
            target = target.trim();
            ret = target.split(" ");
            if(ret.length < 1){
                ret = null;
            }
        }
        return ret;
    }
    
    
    public static String convertToSQLString(Object[] array){
        String ret ="";
        if(array != null && array.length >0){
            for (int i = 0; i < array.length; i++) {
                ret += array[i]+"";
                if(i<array.length -1){
                    ret +=",";
                }
            }
        }
        return ret;
    }
    
    public static Timestamp converStringToTimestamp(String date, String simpleDateFormat){
        if(StringUtils.isBlank(date)){
            return null;
        }
        
        String defaultSimpleDateFormat = "MM/dd/yyyy HH:mm";
        if(StringUtils.isBlank((simpleDateFormat))){
            simpleDateFormat = defaultSimpleDateFormat;
        }
        SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat);
        
        Timestamp ts = null;
        try {
            ts = new Timestamp(sdf.parse(date).getTime());
        } catch (ParseException e) {
            return null;
        }
        return ts;
    }
    
    public static String converDateToString(Date date, String simpleDateFormat){
        if(date == null){
            return null;
        }
        
        String defaultSimpleDateFormat = "MM/dd/yyyy HH:mm";
        if(StringUtils.isBlank((simpleDateFormat))){
            simpleDateFormat = defaultSimpleDateFormat;
        }
        SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat);
        
        String ts = null;
        try {
            ts = sdf.format(date);
        } catch (Exception e) {
            return null;
        }
        return ts;
    }
    
    /**
     * convert String with Date form to String MM/dd/yy
     * like convert String:Thu, 20 Oct 2011 06:00:00 EST to Stirng:10/20/11
     */
    public static String convertDateStringToString(String dateString){
        Date date = null;
        try {
            date = DateFormat.getDateInstance(DateFormat.FULL,Locale.UK).parse(dateString.trim());
        } catch (ParseException e) {            
            e.printStackTrace();
        }        
          SimpleDateFormat sp=new SimpleDateFormat("MM/dd/yy");
          return sp.format(date);
    }
    /*
     *@param target format like 1-10, 11-50, 10+
     */
    public static Integer getRangeStart(String target){
        Integer start = null;
        if(StringUtils.isBlank(target)){
            start = null;
        }else{
            String[] ret = target.split("\\-");
            if(ret.length > 1){
                start =  Integer.valueOf(ret[0]);
            }else{
                ret = target.split("\\+");
                start = Integer.valueOf(ret[0]) + 1;
            }
        }
        return start;
    }
    
    /*
     *@param target format like 1-10, 11-50, 10+
     */
    public static Integer getRangeEnd(String target){
        Integer end = null;
        if(StringUtils.isBlank(target)){
            end = null;
        }else{
            String[] ret = target.split("\\-");
            if(ret.length > 1){
                end =  Integer.valueOf(ret[1]);
            }else{
                end = null;
            }
        }
        return end;
    }    
    
    public static String formatMoney(Object money){
        return SysUtil.formatMoney(money, 0);
    }
    
    public static String formatMoney(Object money, Integer digits){
        if(money == null){
            money = 0f;
        }
        if(digits == null){
            digits = 2;
        }else if(digits < 0){
            digits = 0;
        }
        NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US);
        format.setMaximumFractionDigits(digits);
        return format.format(money);
    }
    
    public static boolean checkCommonObjNotNull(BasePojo... obj){
        boolean result = false;
        List list = Arrays.asList(obj);
        if(list != null){
            Iterator it = list.iterator();
            while(it.hasNext()){
                Object objsub = it.next();
                if(objsub != null){
                    Class classSub = objsub.getClass();
                    try{
                        Method m = classSub.getMethod("getId",null);
                        m.setAccessible(true);
                        Object subObjId = m.invoke(objsub, null);
                        if(subObjId == null){
                            result = false;
                            break;
                        }else{
                            result = true;
                        }
                    }catch(Exception e){
                        result = false;
                        logger.warn("checkCommonObjNotNull "+e.getStackTrace());
                    }
                }else{
                    result = false;
                    break;
                }
            }
        }
        return result;
    }
    
    public static String formatNumber(Float amonut, String format){
        if(amonut == null) amonut = 0.00f;
        if(format == null) format = "$##,###,###.00";
        DecimalFormat formatDF = new DecimalFormat(format);
        return formatDF.format(amonut);
    }
    
    public static String maskString(String input, Integer count){
        if(StringUtils.isEmpty(input)){
            return null;
        }
        if(count == null || count <= 0){
            count = 3;
        }
        if(count > input.length()){
            count = input.length();
        }
        if(input.length() <= count){
            StringBuffer buffer = new StringBuffer();
            for (int i = 0; i < input.length(); i++) {
                buffer.append("*");
            }
            input = buffer.toString();            
        }else{
            input = input.substring(0,input.length()-count);
            StringBuffer buffer = new StringBuffer();
            for(int i = 0; i< count ;i ++){
                buffer.append("*");
            }
            input += buffer.toString();
        }
        return input;
    }
    
    public static String getUploadedFileLoaction(String fileName){
        if(StringUtils.isNotBlank(fileName)){
            String photoUrl = SysCache.getInstance().getSysConfig("floder_for_uploaded");
            if(!photoUrl.endsWith("/")){
                photoUrl = photoUrl + "/";
            }
            photoUrl = photoUrl + fileName;
            return photoUrl;
        }
        return null;
    }
    public static String subString(String subString,int start,int length){
        if(subString.length()>length){
            subString=subString.substring(start,start+length-3)+"...";
        }        
        return subString;
    }
    
    
    
    public static String getMySQLLimit(Integer start, Integer limit){
        if(start == null){
            start = 0;
        }
        if(start != null && limit != null){
            return " limit "+start+","+limit+" ";
        }else{
            return "";
        }
    }
    
    public static String findMatch(String pattern,String input){
        String result = null;
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);
        if(m.find()){
            result = m.group();
        }
        return result;
    }
    
    public static void main(String[] args) {
        System.out.println(isEmail(""));
        System.out.println(isEmail("[email protected]"));
        System.out.println(isEmail("[email protected],"));
        System.out.println(isEmail("[email protected],[email protected]"));
        System.out.println(isEmail("[email protected],[email protected]"));
       System.out.println(isEmail("[email protected][email protected], [email protected]"));
       
       System.out.println(formatEmail("[email protected][email protected], [email protected],   ")+"======");
       System.out.println(formatEmail("[email protected][email protected] , [email protected]  ")+"======");
       System.out.println(formatEmail("[email protected]    ")+"======");
       System.out.println(formatEmail("[email protected]")+"======");
       System.out.println(formatEmail("[email protected],    ")+"======");
       System.out.println(formatEmail("[email protected]    ,    ")+"======");
       System.out.println(formatEmail("")+"======");
    }
}




你可能感兴趣的:(通过dom4j 读取远程连接数据)