﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jimingminlovefly-文章分类-java</title><link>http://www.blogjava.net/jimingminlovefly/category/50072.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 20 Jan 2013 15:33:32 GMT</lastBuildDate><pubDate>Sun, 20 Jan 2013 15:33:32 GMT</pubDate><ttl>60</ttl><item><title>java 冒泡排序</title><link>http://www.blogjava.net/jimingminlovefly/articles/393948.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Tue, 08 Jan 2013 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/393948.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/393948.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/393948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/393948.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/393948.html</trackback:ping><description><![CDATA[int[] arr = new int[]{0,1,3,2,4,5,6,7,9,8};<br />int i,j,temp;<br />&nbsp;&nbsp;for(i=1;i&lt;arr.length;i++){//<span style="color: red">外围比较趟数i：1到length-1</span><br />&nbsp;&nbsp;&nbsp;for(j=0;j&lt;arr.length-i;j++){//<span style="color: red">每趟的内比次数j：与趟数i有规律</span><br />&nbsp;&nbsp;&nbsp;&nbsp;if(arr[j]&gt;arr[j+1]){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp = arr[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j] = arr[j+1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j+1] = temp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;for(int k=0;k&lt;arr.length;k++){<br />&nbsp;&nbsp;&nbsp;System.out.print(arr[k]+",");<br />&nbsp;&nbsp;}<img src ="http://www.blogjava.net/jimingminlovefly/aggbug/393948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2013-01-08 14:16 <a href="http://www.blogjava.net/jimingminlovefly/articles/393948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技术－socket通信编程（详解）</title><link>http://www.blogjava.net/jimingminlovefly/articles/366530.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 16 Dec 2011 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/366530.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/366530.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/366530.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/366530.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/366530.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1. 客户端程序　　import java.io.*;　　import java.net.*;　　public class TalkClient {　　　　public static void main(String args[]) {　　　　　　try{　　　　　　　　Socket socket=new Socket("127.0.0.1",4700);　　　　　　　...&nbsp;&nbsp;<a href='http://www.blogjava.net/jimingminlovefly/articles/366530.html'>阅读全文</a><img src ="http://www.blogjava.net/jimingminlovefly/aggbug/366530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-12-16 14:54 <a href="http://www.blogjava.net/jimingminlovefly/articles/366530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-自定义的工具类DateUtil 和StringUtil</title><link>http://www.blogjava.net/jimingminlovefly/articles/364820.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 25 Nov 2011 06:31:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/364820.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/364820.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/364820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/364820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/364820.html</trackback:ping><description><![CDATA[<p>package com.lvyou.util;<br />import java.sql.Timestamp;<br />import java.text.ParseException;<br />import java.text.SimpleDateFormat;<br />import java.util.Calendar;<br />import java.util.Date;<br />import java.util.GregorianCalendar;</p>
<p>import org.apache.log4j.Logger;</p>
<p><br /><span style="color: red">public class </span><span style="color: red">DateUtil {</span><br />&nbsp;final static Logger logger = Logger.getLogger(DateUtil.class);<br />&nbsp;<br />&nbsp;private final static String[] months = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",<br />&nbsp;&nbsp;&nbsp;"Jul", "Aug", "Sep", "Oct", "Nov", "Dec", };</p>
<p>&nbsp;public final static Date parseComplicateDate(String str) {<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strs[5]);<br />&nbsp;&nbsp;&nbsp;int nMonth = 0;<br />&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; months.length; i++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (months[i].equals(strs[1])) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth = i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strs[2]);<br />&nbsp;&nbsp;&nbsp;String strTime = strs[3];<br />&nbsp;&nbsp;&nbsp;String[] strTimes = strTime.split(":");<br />&nbsp;&nbsp;&nbsp;int nHour = Integer.parseInt(strTimes[0]);<br />&nbsp;&nbsp;&nbsp;int nMinute = Integer.parseInt(strTimes[1]);<br />&nbsp;&nbsp;&nbsp;int nSecond = Integer.parseInt(strTimes[2]);<br />&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth, nDay, nHour,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute, nSecond);<br />&nbsp;&nbsp;&nbsp;Date aDate = cal.getTime();<br />&nbsp;&nbsp;&nbsp;return aDate;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;/**<br />&nbsp; * 返回用户指定日期的前或后n天的字符串 正数为向后n天,负数相反<br />&nbsp; * @param date<br />&nbsp; * @param day<br />&nbsp; * @return<br />&nbsp; * @throws ParseException <br />&nbsp; */<br />&nbsp;public static String&nbsp; getNumToDate(String date,int day) throws ParseException<br />&nbsp;{<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Calendar c = Calendar.getInstance();</p>
<p>&nbsp;&nbsp;SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");<br />&nbsp;&nbsp;c.setTime(sdf1.parse(date));<br />&nbsp;&nbsp;c.add( Calendar.DAY_OF_MONTH, day );<br />&nbsp;&nbsp; <br />&nbsp;&nbsp;return sdf1.format(c.getTime());<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static Date getYyyyMmDdHhMmss(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;String[] strDays = strs[0].split("-");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strDays[0]);<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(strDays[1]);<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strDays[2]);</p>
<p>&nbsp;&nbsp;&nbsp;String[] strTimes = strs[1].split(":");<br />&nbsp;&nbsp;&nbsp;int nHour = Integer.parseInt(strTimes[0]);<br />&nbsp;&nbsp;&nbsp;int nMinute = Integer.parseInt(strTimes[1]);<br />&nbsp;&nbsp;&nbsp;int nSecond = Integer.parseInt(strTimes[2]);<br />&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, nHour,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute, nSecond);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;</p>
<p>&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 返回与指定日期n个月的日期<br />&nbsp; * @param date<br />&nbsp; * @param day<br />&nbsp; * @return<br />&nbsp; * @throws ParseException <br />&nbsp; */<br />&nbsp;public static Date&nbsp; getMonthToDate(Date date,int month) throws ParseException<br />&nbsp;{<br />&nbsp;&nbsp;Calendar c = Calendar.getInstance();<br />&nbsp;&nbsp;c.setTime(date);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.add(Calendar.DAY_OF_MONTH, -month*30);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return c.getTime();<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 返回用户指定日期的前或后n天的字符串 正数为向后n天,负数相反<br />&nbsp; * @param date<br />&nbsp; * @param day<br />&nbsp; * @return<br />&nbsp; * @throws ParseException <br />&nbsp; */<br />&nbsp;public static Date&nbsp; getNumToDate(Date date,int day) throws ParseException<br />&nbsp;{<br />&nbsp;&nbsp;Calendar c = Calendar.getInstance();<br />&nbsp;&nbsp;c.add( Calendar.DAY_OF_MONTH, day );<br />&nbsp;&nbsp;return c.getTime();<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 比较两个日期<br />&nbsp; * @param date1<br />&nbsp; * @param date2<br />&nbsp; * @return<br />&nbsp; */<br />&nbsp;public static boolean compareDate(Date date1,Date date2)<br />&nbsp;{<br />&nbsp;&nbsp;Calendar c = Calendar.getInstance();<br />&nbsp;&nbsp;c.setTime(date1);<br />&nbsp;&nbsp;c.add( Calendar.DAY_OF_MONTH, 1 );<br />&nbsp;&nbsp;return&nbsp; c.getTime().getTime()&gt;date2.getTime()?true:false;<br />&nbsp;}<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;public static void main(String[] args) throws ParseException {<br />&nbsp;&nbsp;SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;System.out.println(autoCommit());<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static Date getYyyyMmDdHhMm(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;String[] strDays = strs[0].split("-");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strDays[0]);<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(strDays[1]);<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strDays[2]);</p>
<p>&nbsp;&nbsp;&nbsp;String[] strTimes = strs[1].split(":");<br />&nbsp;&nbsp;&nbsp;int nHour = Integer.parseInt(strTimes[0]);<br />&nbsp;&nbsp;&nbsp;int nMinute = Integer.parseInt(strTimes[1]);<br />&nbsp;&nbsp;&nbsp;int nSecond = 0;<br />&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, nHour,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute, nSecond);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;</p>
<p>&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;public final static Date getYyyyMmDdHhMmSsFlexible(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;String[] strDays = strs[0].split("-");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strDays[0]);<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(strDays[1]);<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strDays[2]);</p>
<p>&nbsp;&nbsp;&nbsp;int nHour = 0;<br />&nbsp;&nbsp;&nbsp;int nMinute = 0;<br />&nbsp;&nbsp;&nbsp;int nSecond = 0;<br />&nbsp;&nbsp;&nbsp;if (strs.length &gt; 1){<br />&nbsp;&nbsp;&nbsp;&nbsp;String[] strTimes = strs[1].split(":");<br />&nbsp;&nbsp;&nbsp;&nbsp;if (strTimes.length &gt; 1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nHour = Integer.parseInt(strTimes[0]);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (strTimes.length &gt; 2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute = Integer.parseInt(strTimes[1]);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (strTimes.length &gt; 3)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nSecond = Integer.parseInt(strTimes[2]);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, nHour,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute, nSecond);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;</p>
<p>&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;public final static Date getHhMm(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;String[] strTimes = str.split(":");<br />&nbsp;&nbsp;&nbsp;int nHour = Integer.parseInt(strTimes[0]);<br />&nbsp;&nbsp;&nbsp;int nMinute = Integer.parseInt(strTimes[1]);<br />&nbsp;&nbsp;&nbsp;int nSecond = 0;<br />&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nHour,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMinute, nSecond);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;</p>
<p>&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;public final static Date getYyyyMmDd(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />//&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;String[] strDays = str.split("-");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strDays[0]);<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(strDays[1]);<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strDays[2]);</p>
<p>&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 0);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static Date getYyyyMmDdNotHyphenated(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />//&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(str.substring(0, 4));<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(str.substring(4, 6));<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(str.substring(6, 8));</p>
<p>&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 0);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static Date getYyMmDd(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />//&nbsp;&nbsp;&nbsp;String[] strs = str.split(" ");<br />&nbsp;&nbsp;&nbsp;String[] strDays = str.split("-");<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(strDays[0]);<br />&nbsp;&nbsp;&nbsp;nYear += 2000;<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(strDays[1]);<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(strDays[2]);</p>
<p>&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 0);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static Date getYyMmDdNotHyphenated(String str) {<br />&nbsp;&nbsp;if (StringUtil.isNullOrEmpty(str))<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;int nYear = Integer.parseInt(str.substring(0,2));<br />&nbsp;&nbsp;&nbsp;nYear += 2000;<br />&nbsp;&nbsp;&nbsp;int nMonth = Integer.parseInt(str.substring(2,4));<br />&nbsp;&nbsp;&nbsp;int nDay = Integer.parseInt(str.substring(4,6));</p>
<p>&nbsp;&nbsp;&nbsp;Calendar cal = new GregorianCalendar(nYear, nMonth-1, nDay, 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 0);<br />&nbsp;&nbsp;&nbsp;return cal.getTime();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (ArrayIndexOutOfBoundsException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (NumberFormatException e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;catch (Exception e){<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static String toYyMmdd(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;nYear = nYear % 100;<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;if (nYear &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public final static String toHyphenatedYyMmdd(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;nYear = nYear % 100;<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;if (nYear &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public final static String toYyyyMmdd(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);</p>
<p>&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public final static String toHyphenatedYyyyMmdd(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);</p>
<p>&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public final static String toHyphenatedYyyyMmDdHhMm(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;int nHour = cal.get(Calendar.HOUR_OF_DAY);<br />&nbsp;&nbsp;int nMinute = cal.get(Calendar.MINUTE);</p>
<p>&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);</p>
<p>&nbsp;&nbsp;sb.append(" ");<br />&nbsp;&nbsp;if (nHour &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nHour);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;sb.append(":");<br />&nbsp;&nbsp;if (nMinute &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMinute);</p>
<p>&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public final static String toHyphenatedYyyyMmDdHhMmSsFlexible(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;int nHour = cal.get(Calendar.HOUR_OF_DAY);<br />&nbsp;&nbsp;int nMinute = cal.get(Calendar.MINUTE);<br />&nbsp;&nbsp;int nSecond = cal.get(Calendar.SECOND);</p>
<p>&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);</p>
<p>&nbsp;&nbsp;if (nHour &gt; 0 ||<br />&nbsp;&nbsp;&nbsp;&nbsp;nMinute &gt; 0 ||<br />&nbsp;&nbsp;&nbsp;&nbsp;nSecond &gt; 0){<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;sb.append(" ");<br />&nbsp;&nbsp;&nbsp;if (nHour &lt; 10)<br />&nbsp;&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;&nbsp;sb.append(nHour);</p>
<p>&nbsp;&nbsp;&nbsp;sb.append(":");<br />&nbsp;&nbsp;&nbsp;if (nMinute &lt; 10)<br />&nbsp;&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;&nbsp;sb.append(nMinute);</p>
<p>&nbsp;&nbsp;&nbsp;if (nSecond &gt; 0){<br />&nbsp;&nbsp;&nbsp;&nbsp;sb.append(":");<br />&nbsp;&nbsp;&nbsp;&nbsp;if (nSecond &lt; 10)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;&nbsp;&nbsp;sb.append(nSecond);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;return sb.toString();<br />&nbsp;}</p>
<p>&nbsp;public final static String toYyyyMmddHHmm(Date aDate){<br />&nbsp;&nbsp;if (aDate== null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);</p>
<p>&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;int nHour = cal.get(Calendar.HOUR_OF_DAY);<br />&nbsp;&nbsp;int nMinute = cal.get(Calendar.MINUTE);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append("-");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append("-");</p>
<p>&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);<br />&nbsp;&nbsp;sb.append(" ");</p>
<p>&nbsp;&nbsp;if (nHour &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nHour);<br />&nbsp;&nbsp;sb.append(":");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if (nMinute &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMinute);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static String toYyyymmddHhmmss(Date aDate){<br />&nbsp;&nbsp;if (aDate == null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);<br />&nbsp;&nbsp;int nYear = cal.get(Calendar.YEAR);<br />&nbsp;&nbsp;int nMonth = cal.get(Calendar.MONTH);<br />&nbsp;&nbsp;nMonth++;<br />&nbsp;&nbsp;int nDay = cal.get(Calendar.DAY_OF_MONTH);<br />&nbsp;&nbsp;int nHour = cal.get(Calendar.HOUR_OF_DAY);<br />&nbsp;&nbsp;int nMInute = cal.get(Calendar.MINUTE);<br />&nbsp;&nbsp;int nSeconf= cal.get(Calendar.SECOND);</p>
<p>&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;sb.append(nYear);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nMonth &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMonth);<br />&nbsp;&nbsp;sb.append('-');<br />&nbsp;&nbsp;if (nDay &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nDay);</p>
<p>&nbsp;&nbsp;sb.append(' ');<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if (nHour &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nHour);<br />&nbsp;&nbsp;sb.append(':');<br />&nbsp;&nbsp;if (nMInute &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMInute);<br />&nbsp;&nbsp;sb.append(':');<br />&nbsp;&nbsp;if (nSeconf &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nSeconf);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public final static String toHHmm(Date aDate){<br />&nbsp;&nbsp;if (aDate== null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;Calendar cal = new GregorianCalendar();<br />&nbsp;&nbsp;cal.setTime(aDate);</p>
<p>&nbsp;&nbsp;int nHour = cal.get(Calendar.HOUR_OF_DAY);<br />&nbsp;&nbsp;int nMinute = cal.get(Calendar.MINUTE);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br />&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;if (nHour &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nHour);<br />&nbsp;&nbsp;sb.append(":");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if (nMinute &lt; 10)<br />&nbsp;&nbsp;&nbsp;sb.append('0');<br />&nbsp;&nbsp;sb.append(nMinute);<br />&nbsp;&nbsp;return sb.toString();<br />&nbsp;}<br />&nbsp;public static java.sql.Timestamp toTimestamp (Date theDate){<br />&nbsp;&nbsp;if (theDate== null)<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;return new Timestamp (theDate.getTime());<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 判断当前的时小数是否在23:00---08:00内,如果在就自动commit到供应商下单<br />&nbsp; * @return<br />&nbsp; */<br />&nbsp;public static boolean autoCommit(){<br />&nbsp;&nbsp;&nbsp; SimpleDateFormat sdf=new SimpleDateFormat("HH");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date d=new Date();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str=sdf.format(d);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int num=Integer.parseInt(str) ;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (num&gt;=23 || num&lt;8)?true:false;<br />&nbsp;}<br />}<br /><br /><span style="color: red">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</span><br /></p>
<p>package com.lvyou.util;</p>
<p>import java.io.UnsupportedEncodingException;<br />import java.net.URLEncoder;<br />import java.util.Random;<br />import java.util.regex.Matcher;<br />import java.util.regex.Pattern;</p>
<p>import org.apache.log4j.Logger;</p>
<p><span style="color: red">public class StringUtil {</span><br />&nbsp;static Logger logger = Logger.getLogger (StringUtil.class);<br />&nbsp;public final static String ENCODING = "GBK";<br />&nbsp; private static String[] strArray = new String[] { "a", "b", "c", "d", "e",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "5", "6", "7", "8", "9", "!", "@", "#", "$", "%", "^", "&amp;", "(",&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ")" }; <br />&nbsp; <br />&nbsp;public static boolean isNullOrEmpty (String str){<br />&nbsp;&nbsp;if (str== null ||<br />&nbsp;&nbsp;&nbsp;&nbsp;"".equals(str))<br />&nbsp;&nbsp;&nbsp;return true;<br />&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;<br />&nbsp;}<br />&nbsp;public static String nullToEmpty(String str){<br />&nbsp;&nbsp;if (str== null)<br />&nbsp;&nbsp;&nbsp;return "";<br />&nbsp;&nbsp;&nbsp;return str;<br />&nbsp;&nbsp;<br />&nbsp;}<br />&nbsp;public static String getEscaped(String str ){<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;return URLEncoder.encode(str, ENCODING);<br />&nbsp;&nbsp;} catch (UnsupportedEncodingException e) {<br />&nbsp;&nbsp;&nbsp;logger.warn("", e);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return "";<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 校验手机号码<br />&nbsp; * @param num<br />&nbsp; * @return<br />&nbsp; *<br />&nbsp; */<br />&nbsp;public static boolean IsMobileCode(String code)<br />&nbsp;{<br />&nbsp;&nbsp;String Code = "[0-9]{3}";<br />&nbsp;&nbsp;if(isNumeric(code,Code))<br />&nbsp;&nbsp;&nbsp;return true;<br />&nbsp;&nbsp;else <br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;}<br />&nbsp;public static boolean IsMobileNum1(String num){<br />&nbsp;&nbsp; String HK="[0-9]{8}";<br />&nbsp;&nbsp; String MainLand="[0-9]{11}";<br />//&nbsp;&nbsp; String USA="";<br />&nbsp;&nbsp;if( (isNumeric(num,HK)==true || isNumeric(num,MainLand)==true ) &amp;&amp; num.matches("^(13|15|18)\\d{9}$"))<br />&nbsp;&nbsp;&nbsp;return true;<br />&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public static boolean IsMoblieNum(String num)<br />&nbsp;{<br />&nbsp;&nbsp; String Code="[0-9]{1,4}";<br />&nbsp;&nbsp; String HK="[0-9]{8}";<br />&nbsp;&nbsp; String MainLand="[0-9]{11}";<br />&nbsp;&nbsp;if(num.trim()!=null || num.trim()!="")<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;String[] str=num.split(" ");<br />&nbsp;&nbsp;&nbsp;if(isNumeric(str[0],Code))<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if((isNumeric(str[1],HK)==true || isNumeric(str[1],MainLand)==true) &amp;&amp; str[1].matches("^(13|15|18)\\d{6，9}$"))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return true;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public static&nbsp; boolean isNumeric(String str,String where )<br />&nbsp;{<br />&nbsp;&nbsp;Pattern pattern = Pattern.compile(where);<br />&nbsp;&nbsp;Matcher isNum = pattern.matcher(str);<br />&nbsp;&nbsp;&nbsp;if( !isNum.matches() )<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;return true;<br />&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;/** <br />&nbsp;&nbsp;* 生成唯一字符串&nbsp; <br />&nbsp;&nbsp;* @param length 需要长度 <br />&nbsp;&nbsp;* @param symbol 是否允许出现特殊字符 -- !@ $%^&amp;*() <br />&nbsp;&nbsp;* @return <br />&nbsp;&nbsp;*/&nbsp; <br />&nbsp;&nbsp;public static String getUniqueString(int length, boolean symbol)&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws Exception {&nbsp; <br />&nbsp;&nbsp;&nbsp; Random ran = new Random();&nbsp; <br />&nbsp;&nbsp;&nbsp; int num = ran.nextInt(61);&nbsp; <br />&nbsp;&nbsp;&nbsp; String returnString = "";&nbsp; <br />&nbsp;&nbsp;&nbsp; String str = "";&nbsp; <br />&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; length;) {&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (symbol)&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num = ran.nextInt(70);&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num = ran.nextInt(61);&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = strArray[num];&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(returnString.indexOf(str) &gt;= 0)) {&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returnString += str;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; <br />&nbsp;&nbsp;&nbsp; }&nbsp; <br />&nbsp;&nbsp;&nbsp; return returnString;&nbsp; <br />&nbsp;&nbsp;}&nbsp; <br />&nbsp;<br />&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;System.out.println(IsMoblieNum("568 ga1345")?"对的":"错的");<br />//&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;String str="16020895785";<br />//&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(str.matches("^(13|15|18)\\d{9}$"));</p>
<p>&nbsp;&nbsp;}<br />}<br /></p>
<p><br /><br /></p><img src ="http://www.blogjava.net/jimingminlovefly/aggbug/364820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-25 14:31 <a href="http://www.blogjava.net/jimingminlovefly/articles/364820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技术-注解的定义</title><link>http://www.blogjava.net/jimingminlovefly/articles/364808.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 25 Nov 2011 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/364808.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/364808.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/364808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/364808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/364808.html</trackback:ping><description><![CDATA[注解的定义<img src ="http://www.blogjava.net/jimingminlovefly/aggbug/364808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-25 11:53 <a href="http://www.blogjava.net/jimingminlovefly/articles/364808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技术-后台编辑器内容</title><link>http://www.blogjava.net/jimingminlovefly/articles/364652.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 23 Nov 2011 09:28:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/364652.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/364652.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/364652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/364652.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/364652.html</trackback:ping><description><![CDATA[<div><br /><span style="color: red">一、普通文本框，</span><span style="color: #0000ff">不会自动添加html标签</span><br /><span style="color: red">&lt;s:property&gt;标签的escape属性默认值为true，即不解析html代码，直接将其输出。 </span><br /><span style="color: red">若想要输出html的效果，则要改为false</span><br /><br /><span style="color: #0000ff">二、编辑器框，</span><span style="color: #ff0000">会</span><span style="color: #ff0000">自带html标签<br /></span>编辑器的引用：网上很多编辑器的js，导入进来就可以使用，比如/js/xheditor/<span style="color: #0000ff">xheditor-1.1.10-zh-cn.min.js</span></div> <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/364652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-23 17:28 <a href="http://www.blogjava.net/jimingminlovefly/articles/364652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技术-java集合接口collection、集合操作类collections、比较器接口comparator、comparable</title><link>http://www.blogjava.net/jimingminlovefly/articles/363287.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 09 Nov 2011 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363287.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363287.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363287.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363287.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363287.html</trackback:ping><description><![CDATA[<span style="color: #ff0000">接口</span>comparator：util包,int compare(T o1,T o2){o1.<span style="color: #008000">compareTo</span>(o2)}<br /><span style="color: #ff0000">接口</span>comparable：lang包,int <span style="color: #008000">compareTo</span>(T o)<br /><br />集合<span style="color: red">接口</span>collection：list、set等<br />集合<span style="color: #0000ff">操作类</span>collections：操作集合，比如排序collections.sort（collection,comparator）等<br /><br /><font face="Verdana">Collections.sort(hdList, new Comparator() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int compare(Object a, Object b) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double orderA = ((HotelDistance) a).getDistance();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double orderB = ((HotelDistance) b).getDistance();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double d = orderA - orderB;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return d&lt;0?-1:(d==0?0:1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</font><br /> <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-09 13:03 <a href="http://www.blogjava.net/jimingminlovefly/articles/363287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-java获取访客ip地址</title><link>http://www.blogjava.net/jimingminlovefly/articles/363280.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 09 Nov 2011 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363280.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363280.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363280.html</trackback:ping><description><![CDATA[public String getIpAddr(HttpServletRequest request) { <br />&nbsp;&nbsp;&nbsp;&nbsp; String ip = request.getHeader("x-forwarded-for"); <br />&nbsp;&nbsp;&nbsp;&nbsp; if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip = request.getHeader("Proxy-Client-IP"); <br />&nbsp;&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp;&nbsp; if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip = request.getHeader("WL-Proxy-Client-IP"); <br />&nbsp;&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp;&nbsp; if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip = request.getRemoteAddr(); <br />&nbsp;&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">//返回一串ip值的话，取第一个</span><br />&nbsp;&nbsp;&nbsp;&nbsp; if(ip.contains(",")){<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;ip = ip.substring(0, ip.indexOf(","));<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp; return ip; <br />&nbsp;}<img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-09 11:41 <a href="http://www.blogjava.net/jimingminlovefly/articles/363280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-java根据经纬度计算两点之间的距离</title><link>http://www.blogjava.net/jimingminlovefly/articles/363279.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 09 Nov 2011 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363279.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363279.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363279.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363279.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363279.html</trackback:ping><description><![CDATA[private final static double PI = Math.PI; // 圆周率<br />private final static double R = 6371.229; // 地球的半径<br />/**<br />longitude&nbsp;&nbsp; 经度<br />latitude 维度<br />*/<br />public double getDistance(double longt1, double lat1, double longt2,double lat2) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double x, y, distance;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = (longt2 - longt1)*PI*R*Math.cos(((lat1+lat2)/2)*PI/180)/180;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = (lat2 - lat1)*PI*R/180;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; distance = Math.hypot(x, y);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return distance;<br />&nbsp;&nbsp;&nbsp; }  <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-09 11:37 <a href="http://www.blogjava.net/jimingminlovefly/articles/363279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-java操作文件的常用方法</title><link>http://www.blogjava.net/jimingminlovefly/articles/363269.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 09 Nov 2011 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363269.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363269.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363269.html</trackback:ping><description><![CDATA[以前写的一个java操作文件的常用方法，包括建立目录，删除目录，建立文件，删除文件，读取文件内容等<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;&nbsp;com.life.common;<br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.</span><span style="color: #000000">*</span><span style="color: #000000">;<br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.net.MalformedURLException;<br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.net.URL;<br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.net.URLConnection;<br /><br /></span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;*&nbsp;&lt;p&gt;Title:&nbsp;文件操作&lt;/p&gt;<br />&nbsp;*&nbsp;&lt;p&gt;Description:用于文件操作，如建立目录，删除目录，建立文件，删除文件等&lt;/p&gt;<br />&nbsp;*<br />&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br /><br /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;PFile&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;File&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;建立目录，给定目录路径，一层层判断该目录是否存在，不存在则建立，再判断下一目录<br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sPath&nbsp;要创建的目录<br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;建立成功返回空，否则返回错误信息<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;CreateFolder(String&nbsp;sPath){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sTmpPath;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;aP;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmpPath</span><span style="color: #000000">=</span><span style="color: #000000">sPath;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmpPath</span><span style="color: #000000">=</span><span style="color: #000000">sTmpPath.replaceAll(</span><span style="color: #000000">"</span><span style="color: #000000">\\\\</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sTmpPath.indexOf(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">)</span><span style="color: #000000">==-</span><span style="color: #000000">1</span><span style="color: #000000">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">路径错误！</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aP</span><span style="color: #000000">=</span><span style="color: #000000">sPath.split(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">aP.length&nbsp;;i</span><span style="color: #000000">++</span><span style="color: #000000">&nbsp;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmpPath</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;j</span><span style="color: #000000">&lt;=</span><span style="color: #000000">i;j</span><span style="color: #000000">++</span><span style="color: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmpPath</span><span style="color: #000000">+=</span><span style="color: #000000">aP[j]&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(sTmpPath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">f.exists()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.mkdir();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">e.getMessage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sErr;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;删除目录，给定目录路径，不存在则返回错误，否则删除此目录，<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sPath&nbsp;&nbsp;要删除的目录<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;出错返回出错信息,&nbsp;成功返回空<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;DeleteFolder(String&nbsp;sPath){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(sPath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(f.exists())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.delete();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">要删除的目录不存在！</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">e.getMessage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sErr;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;新建文件，并向文件中写入文件内容<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sFilePath&nbsp;&nbsp;要生成的文件路径，文件名包括在其中<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sContent&nbsp;&nbsp;要写入文件的内容<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;操作成功返回空，否则返回出错信息<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;CreateFile(String&nbsp;sFilePath,String&nbsp;sContent){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileWriter&nbsp;fw</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileWriter(sFilePath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fw.write(sContent);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fw.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">e.getMessage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sErr;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;删除文件，删除指定路径的文件<br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sFilePath&nbsp;&nbsp;要删除的文件的路径<br />&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;操作成功返回空，否则返回错误信息<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;DeleteFile(String&nbsp;sFilePath){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(sFilePath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(f.exists()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.delete();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">文件不存在</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">e.getMessage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sErr;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;生成静态页面<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;filepath&nbsp;包含文件名的文件路径<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;url&nbsp;要生成静态页面的路径&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;返回执行的错误信息，成功返回空<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;createHTML(String&nbsp;filepath,String&nbsp;url){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;errmsg</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL&nbsp;u</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;URL(url);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println(url);</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URLConnection&nbsp;uc</span><span style="color: #000000">=</span><span style="color: #000000">u.openConnection();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;br</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedReader(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;InputStreamReader(uc.getInputStream()));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;templine</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;sb</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">((templine</span><span style="color: #000000">=</span><span style="color: #000000">br.readLine())</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append(templine</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println("sb:"+sb);</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errmsg</span><span style="color: #000000">=</span><span style="color: #000000">PFile.CreateFolder(filepath.substring(</span><span style="color: #000000">0</span><span style="color: #000000">,filepath.lastIndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">))</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errmsg</span><span style="color: #000000">+=</span><span style="color: #000000">CreateFile(filepath,sb.toString());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">错误信息：</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">e.toString());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errmsg</span><span style="color: #000000">=</span><span style="color: #000000">e.toString();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;errmsg;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*TODO&nbsp;读取文件内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sFilePath&nbsp;要读取的文件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;返回读取的文件内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;ReadFile(String&nbsp;sFilePath)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IOException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(sFilePath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(f.exists())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileReader&nbsp;fr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileReader(sFilePath);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;br&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedReader(fr);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;dd</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sLine&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;br.readLine();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读取一行数据</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(sLine&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">判断读取得的数据是否为null</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd.append(sLine</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sLine&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;br.readLine();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读取一行数据</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sLine</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br.close();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">关闭BufferedReader对象</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fr.close();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">关闭档案</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s</span><span style="color: #000000">=</span><span style="color: #000000">dd.toString();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;s;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;重命名文件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;oldname&nbsp;&nbsp;旧文件名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;newname&nbsp;&nbsp;新文件名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;操作成功返回空,否则返回错误信息<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;RenameFile(String&nbsp;oldname,String&nbsp;newname){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(oldname);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(f.exists()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.renameTo(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(newname));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">文件不存在</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sErr</span><span style="color: #000000">=</span><span style="color: #000000">e.getMessage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sErr;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />}<br /></span></div>   <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-09 10:33 <a href="http://www.blogjava.net/jimingminlovefly/articles/363269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReport报表设计总结</title><link>http://www.blogjava.net/jimingminlovefly/articles/363263.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Wed, 09 Nov 2011 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363263.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363263.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363263.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363263.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363263.html</trackback:ping><description><![CDATA[<div>1.<a href="http://jimmy-shine.iteye.com/blog/78678" target="_blank">JasperReport报表设计总结1</a><br />
2.<a href="http://jimmy-shine.iteye.com/blog/123595" target="_blank">JasperReport报表设计总结2</a><br />
3.<a href="http://jimmy-shine.iteye.com/blog/123597" target="_blank">JasperReport报表设计总结3</a></div> <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-09 09:59 <a href="http://www.blogjava.net/jimingminlovefly/articles/363263.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-java手机短信发送功能。。。</title><link>http://www.blogjava.net/jimingminlovefly/articles/363029.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Mon, 07 Nov 2011 02:00:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/363029.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/363029.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/363029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/363029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/363029.html</trackback:ping><description><![CDATA[java -手机短信发送功能  <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/363029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-07 10:00 <a href="http://www.blogjava.net/jimingminlovefly/articles/363029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>httpclient 待定。。。</title><link>http://www.blogjava.net/jimingminlovefly/articles/362710.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 04 Nov 2011 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/362710.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/362710.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/362710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/362710.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/362710.html</trackback:ping><description><![CDATA[待定。。。   <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/362710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-04 17:49 <a href="http://www.blogjava.net/jimingminlovefly/articles/362710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-excel导出，下载数据库内容</title><link>http://www.blogjava.net/jimingminlovefly/articles/362704.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 04 Nov 2011 09:28:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/362704.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/362704.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/362704.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/362704.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/362704.html</trackback:ping><description><![CDATA[<br />1.<span style="color: red">查找出List对象</span><br /><br />2.<span style="color: red">BusPriceExportCommand </span>
<p>package com.icicle.goldenfly.web.admin.busAdmin;</p>
<p>import java.io.ByteArrayInputStream;<br />import java.io.ByteArrayOutputStream;<br />import java.io.InputStream;<br />import java.util.Calendar;<br />import java.util.List;</p>
<p>import org.apache.commons.lang.StringUtils;<br />import org.apache.log4j.Logger;</p>
<p>import com.easymvc.ActionException;<br />import com.easymvc.ReturnableCommand;<br />import com.easymvc.annotation.In;<br />import com.easymvc.annotation.Out;<br />import com.easymvc.dispatcher.CommandDispatcher;<br />import com.easymvc.dispatcher.Dispatcher;<br />import com.easymvc.dispatcher.DownloadDispatcher;<br />import com.icicle.framework.member.client.criteria.OrderBy;<br />import com.icicle.framework.member.client.criteria.SetRestriction;<br />import com.icicle.framework.member.client.interfaces.ContentManager;<br />import com.icicle.framework.order.client.enums.BusTicketSource;<br />import com.icicle.framework.order.client.models.BusTicketPrice;<br />import com.icicle.goldenfly.bus.client.criteria.BusTicketPriceCriteria;<br />import com.icicle.goldenfly.member.client.ClientManagerFactory;<br />import com.icicle.goldenfly.web.order.report.ExportBusTicketPriceUtil;<br />/**<br />&nbsp;* 下载 车票价格数据&nbsp; command<br />&nbsp;* @author James pu<br />&nbsp;*<br />&nbsp;*/<br />public class <span style="color: #ff0000">BusPriceExportCommand </span>extends ReturnableCommand{</p>
<p>&nbsp;/**<br />&nbsp; * <br />&nbsp; */<br />&nbsp;private static final long serialVersionUID = 1705270988040058854L;<br />&nbsp;private static final Logger logger = Logger.getLogger(BusPriceExportCommand.class);<br />&nbsp;<br />&nbsp;<br />&nbsp;@In(init=false)<br />&nbsp;private String source;//来源<br />&nbsp;@In(init=false)<br />&nbsp;private String fromBusStop;//起始站点<br />&nbsp;@In(init=false)<br />&nbsp;private String toBusStop;//目的站点<br />&nbsp;<br />&nbsp;private InputStream exportStream;//输出流 <br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 接口管理类<br />&nbsp; */<br />&nbsp;private ContentManager manager;<br />&nbsp;public BusPriceExportCommand(){<br />&nbsp;&nbsp;manager = ClientManagerFactory.getInstance().getContentManager();<br />&nbsp;}<br />&nbsp;<br />&nbsp;@Override<br />&nbsp;protected String execute2() throws ActionException {<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;//查询条件<br /><span>&nbsp;&nbsp;&nbsp;</span><span>BusTicketPriceCriteria criteria=new BusTicketPriceCriteria();</span><br /><span>&nbsp;&nbsp;&nbsp;if(StringUtils.isNotEmpty(source)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br /><span>&nbsp;&nbsp;&nbsp;&nbsp;criteria.setSource(SetRestriction.in(BusTicketSource.valueOf(source)));</span><br /><span>&nbsp;&nbsp;&nbsp;}</span><br /><span>&nbsp;&nbsp;&nbsp;if(StringUtils.isNotEmpty(fromBusStop)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br /><span>&nbsp;&nbsp;&nbsp;&nbsp;criteria.setFromBusStop(fromBusStop);</span><br /><span>&nbsp;&nbsp;&nbsp;}</span><br /><span>&nbsp;&nbsp;&nbsp;if(StringUtils.isNotEmpty(toBusStop)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br /><span>&nbsp;&nbsp;&nbsp;&nbsp;criteria.setToBusStop(toBusStop);</span><br /><span>&nbsp;&nbsp;&nbsp;}</span><br /><span>&nbsp;&nbsp;&nbsp;criteria.setOrderBys(OrderBy.desc("id"));</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;List&lt;BusTicketPrice&gt; tmpList=manager.findBusTicketPrice(criteria);</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;//生成输出流</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;ByteArrayOutputStream out = new ByteArrayOutputStream();</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">ExportBusTicketPriceUtil exprotUtil=new ExportBusTicketPriceUtil();</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;try{</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;exprotUtil.initWorkbook(out);</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;exprotUtil.createSheet("车票价格", 1);</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;exprotUtil.writeDetails(tmpList);</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;finally{</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;exprotUtil.closeWorkbook();</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;out.close();</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;exportStream = new ByteArrayInputStream(out.toByteArray());</span><br /><span style="color: red">&nbsp;&nbsp;</span><span>&nbsp;return SUCCESS;</span><br /><span>&nbsp;&nbsp;}</span><br /><span>&nbsp;&nbsp;catch(Exception e){</span><br /><span>&nbsp;&nbsp;&nbsp;logger.error(Calendar.getInstance().getTime()+":BusPriceExportCommand.execute2={}", e);</span><br /><span>&nbsp;&nbsp;&nbsp;this.addErrorMessage("下载时发生异常." + e.toString());</span><br /><span>&nbsp;&nbsp;&nbsp;return FAILURE;</span><br /><span>&nbsp;&nbsp;}</span><br /><span>&nbsp;}</span></p>
<p><span>&nbsp;@Override</span><br /><span>&nbsp;public Dispatcher getMapping2(String result) {</span><br /><span>&nbsp;&nbsp;if(SUCCESS.equals(result)){</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;return new DownloadDispatcher(exportStream, "application/ms-excel", "busPriceImportFormat.xls");&nbsp;</span><br />&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;return new CommandDispatcher(this.getReturnCommand(), this.getOutputMessage());<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public String getSource() {<br />&nbsp;&nbsp;return source;<br />&nbsp;}</p>
<p>&nbsp;public void setSource(String source) {<br />&nbsp;&nbsp;this.source = source;<br />&nbsp;}</p>
<p>&nbsp;public String getFromBusStop() {<br />&nbsp;&nbsp;return fromBusStop;<br />&nbsp;}</p>
<p>&nbsp;public void setFromBusStop(String fromBusStop) {<br />&nbsp;&nbsp;this.fromBusStop = fromBusStop;<br />&nbsp;}</p>
<p>&nbsp;public String getToBusStop() {<br />&nbsp;&nbsp;return toBusStop;<br />&nbsp;}</p>
<p>&nbsp;public void setToBusStop(String toBusStop) {<br />&nbsp;&nbsp;this.toBusStop = toBusStop;<br />&nbsp;}</p>
<p>}<br /><br />3.<span style="color: #0000ff">ExportBusTicketPriceUtil&nbsp; </span><br /></p>
<p>package com.icicle.goldenfly.web.order.report;</p>
<p>import java.io.IOException;<br />import java.util.List;</p>
<p>import jxl.write.WriteException;<br />import jxl.write.biff.RowsExceededException;</p>
<p>import org.apache.commons.lang.StringUtils;</p>
<p>import com.icicle.framework.member.client.MemberClientUtils;<br />import com.icicle.framework.order.client.models.BusTicketPrice;<br />/**<br />&nbsp;* 处理车票价格导出数据 为Excel格式<br />&nbsp;* @author James pu<br />&nbsp;*<br />&nbsp;*/<br />public class <span style="color: #0000ff">ExportBusTicketPriceUtil&nbsp; </span>extends <span style="color: #800080">JxlExcelExportFacade</span>&lt;BusTicketPrice&gt;{</p>
<p>&nbsp;<br />&nbsp;public void writeDetails(List&lt;BusTicketPrice&gt; busTicketPriceList)<br />&nbsp;&nbsp;&nbsp;throws RowsExceededException, WriteException, IOException {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;this.writeHeader("来源[CNHKBUS-中港通,TRANSISLAND-环岛通]", "出发站点代码","目的站点代码", "单程 卖价", <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"双程 卖价", "单程 买入价", "双程 买入价", "单程&nbsp; 门市价","双程&nbsp; 门市价","票数量","有效期","备注[50字内]"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br />&nbsp;&nbsp;for(BusTicketPrice busTicketPrice :busTicketPriceList){<br />&nbsp;&nbsp;&nbsp;writeContents(busTicketPrice);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;}<br />&nbsp;<br />&nbsp;@Override<br />&nbsp;protected JxlFormatAndValue[] getContents(BusTicketPrice busTicketPrice, Object... parameters) {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;JxlFormatAndValue[] fnvs = new JxlFormatAndValue[15];<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;// 来源[CNHKBUS-中港通,TRANSISLAND-环岛通]<br />&nbsp;&nbsp;fnvs[0] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;StringUtils.defaultString(busTicketPrice.getSource().name()), CELL_FORMAT_DEFAULT); <br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;// 出发站点代码<br />&nbsp;&nbsp;fnvs[1] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;StringUtils.defaultString(busTicketPrice.getFromBusStop()), CELL_FORMAT_DEFAULT);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;// 目的站点代码<br />&nbsp;&nbsp;fnvs[2] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;StringUtils.defaultString(busTicketPrice.getToBusStop()), CELL_FORMAT_DEFAULT);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;// 单程 卖价<br />&nbsp;&nbsp;fnvs[3] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;MemberClientUtils.getFirstNotNull(busTicketPrice.getPriceOfSingle(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); <br />&nbsp;&nbsp;<br />&nbsp;&nbsp;// 双程 卖价<br />&nbsp;&nbsp;fnvs[4] = new JxlFormatAndValue(MemberClientUtils.getFirstNotNull(busTicketPrice.getPriceOfRound(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); <br />&nbsp;&nbsp;// 单程 买入价<br />&nbsp;&nbsp;fnvs[5] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;MemberClientUtils.getFirstNotNull(busTicketPrice.getDealPriceOfSingle(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); <br />&nbsp;&nbsp;<br />&nbsp;&nbsp;// 双程 买入价<br />&nbsp;&nbsp;fnvs[6] = new JxlFormatAndValue(MemberClientUtils.getFirstNotNull(busTicketPrice.getDealPriceOfRound(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); <br />&nbsp;&nbsp;// 单程&nbsp; 门市价<br />&nbsp;&nbsp;fnvs[7] = new JxlFormatAndValue(<br />&nbsp;&nbsp;&nbsp;&nbsp;MemberClientUtils.getFirstNotNull(busTicketPrice.getRealPriceOfSingle(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); <br />&nbsp;&nbsp;<br />&nbsp;&nbsp;//双程&nbsp; 门市价<br />&nbsp;&nbsp;fnvs[8] = new JxlFormatAndValue(MemberClientUtils.getFirstNotNull(busTicketPrice.getRealPriceOfRound(),0.0), CELL_FORMAT_DEFAULT_DECIMAL); &nbsp;&nbsp;<br />&nbsp;&nbsp;// 票数量<br />&nbsp;&nbsp;fnvs[9] = new JxlFormatAndValue(MemberClientUtils.getFirstNotNull(busTicketPrice.getRestNumber(), 0),&nbsp;CELL_FORMAT_DEFAULT_INTEGER); <br />&nbsp;&nbsp;//有效期<br />&nbsp;&nbsp;fnvs[10] = new JxlFormatAndValue(busTicketPrice.getExpiredDate(), CELL_FORMAT_DEFAULT_DATE); <br />&nbsp;&nbsp;&nbsp;&nbsp; //备注[50字内]<br />&nbsp;&nbsp;fnvs[11] = new JxlFormatAndValue(StringUtils.defaultString(busTicketPrice.getRemark()), CELL_FORMAT_DEFAULT);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return fnvs;<br />&nbsp;}</p>
<p><br />&nbsp;<br />}<br /></p>
<p><span style="color: #800080">4.</span><span style="color: #800080">JxlExcelExportFacade</span><br /></p>
<p>package com.icicle.goldenfly.web.order.report;</p>
<p>import java.io.File;<br />import java.io.IOException;<br />import java.io.OutputStream;<br />import java.util.ArrayList;<br />import java.util.Date;<br />import java.util.LinkedHashMap;<br />import java.util.List;<br />import java.util.Map;</p>
<p>import org.apache.log4j.Logger;</p>
<p>import jxl.Workbook;<br />import jxl.WorkbookSettings;<br />import jxl.format.Colour;<br />import jxl.write.DateFormat;<br />import jxl.write.Label;<br />import jxl.write.NumberFormat;<br />import jxl.write.WritableCellFormat;<br />import jxl.write.WritableFont;<br />import jxl.write.WritableSheet;<br />import jxl.write.WritableWorkbook;<br />import jxl.write.WriteException;<br />import jxl.write.biff.CellValue;<br />import jxl.write.biff.RowsExceededException;</p>
<p>/**<br />&nbsp;* make list of maps to xls output stream.<br />&nbsp;*/<br />public abstract class <span style="color: #800080">JxlExcelExportFacade</span>&lt;T&gt; {</p>
<p>&nbsp;protected final NumberFormat NUMBER_FORMAT = new NumberFormat("#,##0.00");<br />&nbsp;protected final NumberFormat INTEGER_FORMAT = new NumberFormat("#,##0");<br />&nbsp;protected final DateFormat DATETIME_FORMAT = new DateFormat("yyyy-MM-dd HH:mm:ss");<br />&nbsp;protected final DateFormat DATE_FORMAT = new DateFormat("yyyy-MM-dd");</p>
<p>&nbsp;protected WritableFont FONT;<br />&nbsp;protected WritableFont BOLD_FONT;</p>
<p>&nbsp;protected WritableCellFormat CELL_FORMAT_HEADER;</p>
<p>&nbsp;protected WritableCellFormat CELL_FORMAT_DEFAULT;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_DEFAULT_INTEGER;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_DEFAULT_DECIMAL;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_DEFAULT_DATETIME;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_DEFAULT_DATE;</p>
<p>&nbsp;protected WritableCellFormat CELL_FORMAT_HIGHLIGHT;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_HIGHLIGHT_INTEGER;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_HIGHLIGHT_DECIMAL;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_HIGHLIGHT_DATETIME;<br />&nbsp;protected WritableCellFormat CELL_FORMAT_HIGHLIGHT_DATE;</p>
<p>&nbsp;private int xIndex;<br />&nbsp;private int yIndex;</p>
<p>&nbsp;protected WritableWorkbook workbook;</p>
<p>&nbsp;protected Map&lt;String, WritableSheet&gt; sheetsMap = new LinkedHashMap&lt;String, WritableSheet&gt;();<br />&nbsp;protected Map&lt;String, WritableCellFormat&gt; cacheMap = new LinkedHashMap&lt;String, WritableCellFormat&gt;();</p>
<p>&nbsp;protected WritableSheet sheet;</p>
<p>&nbsp;protected static final Logger logger = Logger.getLogger(JxlExcelExportFacade.class);</p>
<p>&nbsp;public JxlExcelExportFacade() {<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;FONT = new WritableFont(WritableFont.TAHOMA);<br />&nbsp;&nbsp;&nbsp;BOLD_FONT = new WritableFont(FONT);<br />&nbsp;&nbsp;&nbsp;BOLD_FONT.setBoldStyle(WritableFont.BOLD);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT = new WritableCellFormat(FONT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT_INTEGER = new WritableCellFormat(FONT, INTEGER_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT_DECIMAL = new WritableCellFormat(FONT, NUMBER_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT_DATETIME = new WritableCellFormat(FONT, DATETIME_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT_DATE = new WritableCellFormat(FONT, DATE_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT = new WritableCellFormat(FONT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT.setBackground(Colour.VERY_LIGHT_YELLOW);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HEADER = new WritableCellFormat(BOLD_FONT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_INTEGER = new WritableCellFormat(FONT, INTEGER_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_INTEGER.setBackground(Colour.VERY_LIGHT_YELLOW);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_DECIMAL = new WritableCellFormat(FONT, NUMBER_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_DECIMAL.setBackground(Colour.VERY_LIGHT_YELLOW);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_DATETIME = new WritableCellFormat(FONT, DATETIME_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_DATE = new WritableCellFormat(FONT, DATE_FORMAT);<br />&nbsp;&nbsp;&nbsp;CELL_FORMAT_HIGHLIGHT_DATETIME.setBackground(Colour.VERY_LIGHT_YELLOW);<br />&nbsp;&nbsp;} catch (WriteException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public void initWorkbook(OutputStream outputStream) throws IOException {<br />&nbsp;&nbsp;final WorkbookSettings workbookSettings = new WorkbookSettings();<br />&nbsp;&nbsp;workbookSettings.setGCDisabled(false);<br />&nbsp;&nbsp;workbookSettings.setEncoding("UTF-8");<br />&nbsp;&nbsp;workbook = Workbook.createWorkbook(outputStream, workbookSettings);<br />&nbsp;}</p>
<p>&nbsp;public void initWorkbook(File file) throws IOException {<br />&nbsp;&nbsp;final WorkbookSettings workbookSettings = new WorkbookSettings();<br />&nbsp;&nbsp;workbookSettings.setEncoding("UTF-8");<br />&nbsp;&nbsp;workbook = Workbook.createWorkbook(file, workbookSettings);<br />&nbsp;}</p>
<p>&nbsp;public WritableSheet createSheet(String label, Integer index) {<br />&nbsp;&nbsp;WritableSheet ws = workbook.createSheet(label, index);<br />&nbsp;&nbsp;sheet = ws;<br />&nbsp;&nbsp;sheetsMap.put(label, ws);<br />&nbsp;&nbsp;xIndex = 0;<br />&nbsp;&nbsp;yIndex = 0;<br />&nbsp;&nbsp;return ws;<br />&nbsp;}</p>
<p>&nbsp;public WritableSheet setWorkingSheet(String label) {<br />&nbsp;&nbsp;WritableSheet ws = null;<br />&nbsp;&nbsp;if (sheetsMap.containsKey(label)) {<br />&nbsp;&nbsp;&nbsp;ws = sheetsMap.get(label);<br />&nbsp;&nbsp;&nbsp;sheet = ws;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return ws;<br />&nbsp;}<br />&nbsp;<br />&nbsp;<br />&nbsp;public void writeContents(T object, Object... parameters) throws RowsExceededException,<br />&nbsp;&nbsp;&nbsp;WriteException, IOException {<br />&nbsp;&nbsp;JxlFormatAndValue[] contents = getContents(object, parameters);<br />&nbsp;&nbsp;writeContents(contents);<br />&nbsp;}</p>
<p>&nbsp;public void writeGroupContents(List&lt;T&gt; objects,&nbsp; Object... parameters) throws RowsExceededException,<br />&nbsp;&nbsp;&nbsp;WriteException, IOException {<br />&nbsp;&nbsp;List&lt;JxlFormatAndValue[]&gt; collection = getGroupContents(objects, parameters);<br />&nbsp;&nbsp;for(JxlFormatAndValue[] fnvs : collection){<br />&nbsp;&nbsp;&nbsp;writeContents(fnvs);<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;protected abstract JxlFormatAndValue[] getContents(T object, Object... parameters);<br />&nbsp;<br />&nbsp;protected List&lt;JxlFormatAndValue[]&gt; getGroupContents(List&lt;T&gt; objects, Object... parameters){<br />&nbsp;&nbsp;List&lt;JxlFormatAndValue[]&gt; list = new ArrayList&lt;JxlFormatAndValue[]&gt;();<br />&nbsp;&nbsp;for(T object : objects){<br />&nbsp;&nbsp;&nbsp;list.add(getContents(object, parameters));<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return list;<br />&nbsp;}</p>
<p><br />&nbsp;public void writeContents(JxlFormatAndValue... contents)<br />&nbsp;&nbsp;&nbsp;throws RowsExceededException, WriteException, IOException {<br />&nbsp;&nbsp;for (JxlFormatAndValue content : contents) {<br />&nbsp;&nbsp;&nbsp;writeCell(content);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;nextRow();<br />&nbsp;}</p>
<p>&nbsp;public void writeHeader(String... headerData)<br />&nbsp;&nbsp;&nbsp;throws RowsExceededException, WriteException, IOException {<br />&nbsp;&nbsp;writeHeader(0, 0, headerData);<br />&nbsp;}</p>
<p>&nbsp;public void writeHeader(int row, int col, String... headerData)<br />&nbsp;&nbsp;&nbsp;throws RowsExceededException, WriteException, IOException {<br />&nbsp;&nbsp;xIndex = col;<br />&nbsp;&nbsp;yIndex = row;<br />&nbsp;&nbsp;for (String key : headerData) {<br />&nbsp;&nbsp;&nbsp;final Label label = new Label(xIndex++, yIndex, key,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CELL_FORMAT_HEADER);<br />&nbsp;&nbsp;&nbsp;sheet.addCell(label);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;nextRow();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public void mergeCells(int row, int col, int rowspan, int colspan) <br />&nbsp;&nbsp;throws RowsExceededException, WriteException{<br />&nbsp;&nbsp;sheet.mergeCells(row, col, row + rowspan - 1, col + colspan -1);<br />&nbsp;}</p>
<p>&nbsp;public void writeCell(JxlFormatAndValue content) throws RowsExceededException,<br />&nbsp;&nbsp;&nbsp;WriteException {<br />&nbsp;&nbsp;if(content == null){<br />&nbsp;&nbsp;&nbsp;nextCell();<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;if( content.getColspan() &gt; 1 || content.getRowspan() &gt; 1 ){<br />&nbsp;&nbsp;&nbsp;&nbsp;sheet.mergeCells(xIndex, yIndex, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xIndex + content.getColspan() - 1, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yIndex + content.getRowspan() - 1);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;writeCell(content.getValue(), content.getFormat());&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public void writeCell(Object value, WritableCellFormat writableCellFormat)<br />&nbsp;&nbsp;&nbsp;throws RowsExceededException, WriteException {<br />&nbsp;&nbsp;if (value == null) {<br />&nbsp;&nbsp;&nbsp;nextCell();<br />&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;CellValue cellValue = null;<br />&nbsp;&nbsp;&nbsp;if (Date.class.isAssignableFrom(value.getClass())) {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (writableCellFormat == null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new jxl.write.DateTime(xIndex++, yIndex,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Date) value, CELL_FORMAT_DEFAULT_DATETIME);<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new jxl.write.DateTime(xIndex++, yIndex,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Date) value, writableCellFormat);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;} else if (Number.class.isAssignableFrom(value.getClass())) {<br />&nbsp;&nbsp;&nbsp;&nbsp;Number numberValue = (Number)value;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (writableCellFormat == null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new jxl.write.Number(xIndex++, yIndex,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numberValue.doubleValue(), CELL_FORMAT_DEFAULT_DECIMAL);<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new jxl.write.Number(xIndex++, yIndex,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numberValue.doubleValue(), writableCellFormat);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (writableCellFormat == null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new Label(xIndex++, yIndex, value.toString(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CELL_FORMAT_DEFAULT);<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cellValue = new Label(xIndex++, yIndex, value.toString(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writableCellFormat);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;if (cellValue != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;sheet.addCell(cellValue);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public void nextCell() {<br />&nbsp;&nbsp;xIndex++;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public void nextRow() {<br />&nbsp;&nbsp;xIndex = 0;<br />&nbsp;&nbsp;yIndex++;<br />&nbsp;}</p>
<p>&nbsp;public void closeWorkbook() throws IOException {<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;if (workbook != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;workbook.write();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;if (workbook != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;workbook.close();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;} catch (WriteException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public int getxIndex() {<br />&nbsp;&nbsp;return xIndex;<br />&nbsp;}</p>
<p>&nbsp;public void setxIndex(int xIndex) {<br />&nbsp;&nbsp;this.xIndex = xIndex;<br />&nbsp;}</p>
<p>&nbsp;public int getyIndex() {<br />&nbsp;&nbsp;return yIndex;<br />&nbsp;}</p>
<p>&nbsp;public void setyIndex(int yIndex) {<br />&nbsp;&nbsp;this.yIndex = yIndex;<br />&nbsp;}</p>
<p>}<br /></p>
<p>&nbsp;</p>   <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/362704.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-04 17:28 <a href="http://www.blogjava.net/jimingminlovefly/articles/362704.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-excel导入，数据导入数据库</title><link>http://www.blogjava.net/jimingminlovefly/articles/362703.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 04 Nov 2011 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/362703.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/362703.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/362703.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/362703.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/362703.html</trackback:ping><description><![CDATA[<p>一、二、三点如下：<br /><span style="color: red">一、JxlExcelImportFacade</span><br />package com.icicle.goldenfly.web.order.report;</p>
<p>import java.io.File;<br />import java.io.FileInputStream;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.text.DecimalFormat;<br />import java.text.ParseException;<br />import java.text.SimpleDateFormat;<br />import java.util.ArrayList;<br />import java.util.Calendar;<br />import java.util.Date;<br />import java.util.List;</p>
<p>import org.apache.commons.lang.StringUtils;<br />import org.apache.commons.lang.time.DateUtils;</p>
<p>import common.Logger;</p>
<p>import jxl.Cell;<br />import jxl.CellType;<br />import jxl.DateCell;<br />import jxl.Sheet;<br />import jxl.Workbook;<br />import jxl.read.biff.BiffException;</p>
<p>public abstract class <span style="color: #ff0000">JxlExcelImportFacade</span>&lt;T&gt; {<br />&nbsp;<br />&nbsp;private static final Logger logger = Logger.getLogger(JxlExcelImportFacade.class);<br />&nbsp;<br />&nbsp;protected InputStream in;<br />&nbsp;protected Workbook workbook;<br />&nbsp;<br />&nbsp;public void init(File file) throws BiffException, IOException{<br />&nbsp;&nbsp;this.in = new FileInputStream(file);<br />&nbsp;&nbsp;workbook = Workbook.getWorkbook(in);<br />&nbsp;}<br />&nbsp;<br />&nbsp;public void init(InputStream in) throws BiffException, IOException{<br />&nbsp;&nbsp;this.in = in;<br />&nbsp;&nbsp;workbook = Workbook.getWorkbook(in);&nbsp;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public Sheet getSheet(int index){<br />&nbsp;&nbsp;return workbook.getSheet(index);<br />&nbsp;}</p>
<p>&nbsp;public abstract T readContent(Cell[] cells);<br />&nbsp;<br />&nbsp;public List&lt;T&gt; readContents(List&lt;Cell[]&gt; rows){<br />&nbsp;&nbsp;List&lt;T&gt; result = new ArrayList&lt;T&gt;();<br />&nbsp;&nbsp;for(Cell[] cells : rows){<br />&nbsp;&nbsp;&nbsp;T content = readContent(cells);<br />&nbsp;&nbsp;&nbsp;result.add(content);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return result;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public void close() throws IOException{<br />&nbsp;&nbsp;workbook.close();<br />&nbsp;&nbsp;in.close();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public boolean isEmpty(Cell[] cells){<br />&nbsp;&nbsp;for(Cell cell : cells){<br />&nbsp;&nbsp;&nbsp;if( cell != null &amp;&amp; StringUtils.isNotEmpty(cell.getContents())){<br />&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;&nbsp;} <br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return true;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public Number readNumber(Cell cell, String defaultFormat){<br />&nbsp;&nbsp;String formatStr = defaultFormat;<br />&nbsp;&nbsp;if(cell.getType().equals(CellType.NUMBER)){<br />&nbsp;&nbsp;&nbsp;formatStr = cell.getCellFormat().getFormat().getFormatString();<br />&nbsp;&nbsp;&nbsp;if(StringUtils.isEmpty(formatStr)){<br />&nbsp;&nbsp;&nbsp;&nbsp;formatStr = defaultFormat;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;String content = readString(cell);<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;return new DecimalFormat(formatStr).parse(content);<br />&nbsp;&nbsp;} catch (ParseException e) {<br />&nbsp;&nbsp;&nbsp;logger.error("NumberFormat:" + formatStr + " NumberString:" + content , e);<br />&nbsp;&nbsp;&nbsp;return null;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;public Number readNumber(Cell[] cells, int index, String defaultFormat){<br />&nbsp;&nbsp;if(cells.length &gt; index){<br />&nbsp;&nbsp;&nbsp;return readNumber(cells[index], defaultFormat);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return null;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public Date readDate(Cell cell, String defaultFormat){<br />&nbsp;&nbsp;Date date = null;<br />&nbsp;&nbsp;String content = readString(cell);<br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;if(cell.getType().equals(CellType.DATE)){<br />&nbsp;&nbsp;&nbsp;&nbsp;if(cell instanceof DateCell){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date = DateUtils.truncate(((DateCell)cell).getDate(), Calendar.DATE);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String formatStr = cell.getCellFormat().getFormat().getFormatString();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date = new SimpleDateFormat(formatStr).parse(content);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date = new SimpleDateFormat(defaultFormat).parse(content);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;date = new SimpleDateFormat(defaultFormat).parse(content);<br />&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}catch(ParseException e){<br />&nbsp;&nbsp;&nbsp;logger.error("Date:" + content + " Format:" + defaultFormat, e);<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;return date;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public Date readDate(Cell[] cells, int index, String defaultFormat){<br />&nbsp;&nbsp;if(cells.length &gt; index){<br />&nbsp;&nbsp;&nbsp;return readDate(cells[index], defaultFormat);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return null;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public String readString(Cell cell){<br />&nbsp;&nbsp;return cell.getContents();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public String readString(Cell[] cells, int index){<br />&nbsp;&nbsp;if(cells.length &gt; index){<br />&nbsp;&nbsp;&nbsp;return readString(cells[index]);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return "";<br />&nbsp;}<br />&nbsp;<br />}<br /><br /><span style="color: #ff00ff">二、ImportBusTicketPrice </span></p>
<p>package com.icicle.goldenfly.web.order.report;</p>
<p>import java.math.BigDecimal;<br />import java.util.ArrayList;<br />import java.util.Date;<br />import java.util.List;</p>
<p>import jxl.Cell;<br />import jxl.Sheet;</p>
<p>import org.apache.commons.lang.StringUtils;</p>
<p>import com.icicle.framework.member.client.MemberClientUtils;<br />import com.icicle.framework.order.client.enums.BusTicketSource;<br />import com.icicle.framework.order.client.models.BusTicketPrice;<br />import com.icicle.goldenfly.bus.server.BusTicketList;<br />/**<br />&nbsp;* 车票价格导入&nbsp;&nbsp; 处理Excel数据<br />&nbsp;* @author James pu<br />&nbsp;*<br />&nbsp;*/<br />public class <span style="color: #ff00ff">ImportBusTicketPrice </span>extends <span style="color: #ff0000">JxlExcelImportFacade</span>&lt;BusTicketPrice&gt;{</p>
<p>&nbsp;public List&lt;BusTicketPrice&gt; readContents(){<br />&nbsp;&nbsp;List&lt;BusTicketPrice&gt; busTicketPriceList = new ArrayList&lt;BusTicketPrice&gt;();<br />&nbsp;&nbsp;Sheet sheet = getSheet(0);<br />&nbsp;&nbsp;int rows = sheet.getRows();<br />&nbsp;&nbsp;for(int i = 1; i &lt; rows; i++){<br />&nbsp;&nbsp;&nbsp;Cell[] cells = sheet.getRow(i);<br />&nbsp;&nbsp;&nbsp;if( !isEmpty(cells)){<br />&nbsp;&nbsp;&nbsp;&nbsp;BusTicketPrice busTicketPrice = readContent(cells);<br />&nbsp;&nbsp;&nbsp;&nbsp;busTicketPriceList.add(busTicketPrice);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return busTicketPriceList;<br />&nbsp;}&nbsp;<br />&nbsp;<br />&nbsp;@Override<br />&nbsp;public BusTicketPrice readContent(Cell[] cells) {&nbsp;&nbsp;<br />&nbsp;&nbsp;//来源<br />&nbsp;&nbsp;String source = StringUtils.defaultString(readString(cells, 0));<br />&nbsp;&nbsp;//起始站点代码<br />&nbsp;&nbsp;String fromBusStop = StringUtils.defaultString(readString(cells, 1));&nbsp;&nbsp;<br />&nbsp;&nbsp;//目的站点代码<br />&nbsp;&nbsp;String toBusStop = StringUtils.defaultString(readString(cells, 2));&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; //单程&nbsp; 卖价<br />&nbsp;&nbsp;double priceOfSingle =MemberClientUtils.getFirstNotNull(readNumber(cells, 3, "###0.00"), 0).doubleValue(); <br />&nbsp;&nbsp;//双程 卖价<br />&nbsp;&nbsp;double priceOfRound =MemberClientUtils.getFirstNotNull(readNumber(cells, 4, "###0.00"), 0).doubleValue(); <br />&nbsp;&nbsp;//单程 买价<br />&nbsp;&nbsp;double dealPriceOfSingle =MemberClientUtils.getFirstNotNull(readNumber(cells, 5, "###0.00"), 0).doubleValue(); <br />&nbsp;&nbsp;//双程 买价<br />&nbsp;&nbsp;double dealPriceOfRound =MemberClientUtils.getFirstNotNull(readNumber(cells, 6, "###0.00"), 0).doubleValue(); <br />&nbsp;&nbsp;//单程 门市价<br />&nbsp;&nbsp;double realPriceOfSingle =MemberClientUtils.getFirstNotNull(readNumber(cells, 7, "###0.00"), 0).doubleValue(); <br />&nbsp;&nbsp;//双程 门市价<br />&nbsp;&nbsp;double realPriceOfRound =MemberClientUtils.getFirstNotNull(readNumber(cells, 8, "###0.00"), 0).doubleValue();<br />&nbsp;&nbsp;//票数量<br />&nbsp;&nbsp;Integer restNumber =MemberClientUtils.getFirstNotNull(readNumber(cells, 9, "###0"), 0).intValue();<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;//有效期<br />&nbsp;&nbsp;Date expiredDate=null;<br />&nbsp;&nbsp;if(StringUtils.isNotEmpty(readString(cells,10))){<br />&nbsp;&nbsp;&nbsp;expiredDate = readDate(cells,10, "yyyy-MM-dd");<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;//备注<br />&nbsp;&nbsp;String remark = StringUtils.defaultString(readString(cells, 11));<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;BusTicketPrice busTicketPrice = new BusTicketPrice();<br />&nbsp;&nbsp;busTicketPrice.setSource(BusTicketSource.valueOf(source));<br />&nbsp;&nbsp;busTicketPrice.setFromBusStop(fromBusStop);<br />&nbsp;&nbsp;busTicketPrice.setFromBusStopDesc(BusTicketList.getStationDescByKey(fromBusStop));<br />&nbsp;&nbsp;busTicketPrice.setToBusStop(toBusStop);<br />&nbsp;&nbsp;busTicketPrice.setToBusStopDesc(BusTicketList.getStationDescByKey(toBusStop));<br />&nbsp;&nbsp;busTicketPrice.setPriceOfSingle(BigDecimal.valueOf(priceOfSingle));<br />&nbsp;&nbsp;busTicketPrice.setPriceOfRound(BigDecimal.valueOf(priceOfRound));<br />&nbsp;&nbsp;busTicketPrice.setDealPriceOfSingle(BigDecimal.valueOf(dealPriceOfSingle));<br />&nbsp;&nbsp;busTicketPrice.setDealPriceOfRound(BigDecimal.valueOf(dealPriceOfRound));<br />&nbsp;&nbsp;busTicketPrice.setRealPriceOfSingle(BigDecimal.valueOf(realPriceOfSingle));<br />&nbsp;&nbsp;busTicketPrice.setRealPriceOfRound(BigDecimal.valueOf(realPriceOfRound));<br />&nbsp;&nbsp;busTicketPrice.setRestNumber(restNumber);<br />&nbsp;&nbsp;busTicketPrice.setRemark(remark);<br />&nbsp;&nbsp;busTicketPrice.setExpiredDate(expiredDate);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return busTicketPrice;<br />&nbsp;}&nbsp;</p>
<p>}<br /><br />三、<span style="color: #800000">HotNewsManagerEngine </span></p>
<p>package com.icicle.framework.member.server.driver;</p>
<p>import java.util.List;</p>
<p>import org.apache.commons.beanutils.PropertyUtils;</p>
<p>import com.icicle.framework.member.client.Principal;<br />import com.icicle.framework.member.client.ReturnResult;<br />import com.icicle.framework.member.client.criteria.GroupByResult;<br />import com.icicle.framework.member.client.criteria.HotNewsCriteria;<br />import com.icicle.framework.member.client.criteria.QuestionAnswerCriteria;<br />import com.icicle.framework.member.client.criteria.QuestionCriteria;<br />import com.icicle.framework.member.client.criteria.SetRestriction;<br />import com.icicle.framework.member.client.driver.HotNewsManagerDriver;<br />import com.icicle.framework.member.client.enums.ReturnCode;<br />import com.icicle.framework.member.client.exceptions.ClientGenericException;<br />import com.icicle.framework.member.client.models.Feedback;<br />import com.icicle.framework.member.client.models.FreeTravel;<br />import com.icicle.framework.member.client.models.FreeTravelHotel;<br />import com.icicle.framework.member.client.models.FreeTravelOther;<br />import com.icicle.framework.member.client.models.FreeTravelTraffic;<br />import com.icicle.framework.member.client.models.HotNews;<br />import com.icicle.framework.member.client.models.Question;<br />import com.icicle.framework.member.client.models.QuestionAnswer;<br />import com.icicle.framework.member.client.models.UploadImages;<br />import com.icicle.framework.member.client.models.WebSiteComment;<br />import com.icicle.framework.member.server.ApplicationContextLoader;<br />import com.icicle.framework.member.server.Constants;<br />import com.icicle.framework.member.server.service.BusTicketPriceService;<br />import com.icicle.framework.member.server.service.FeedbackService;<br />import com.icicle.framework.member.server.service.FreeTravelHotelService;<br />import com.icicle.framework.member.server.service.FreeTravelOtherService;<br />import com.icicle.framework.member.server.service.FreeTravelService;<br />import com.icicle.framework.member.server.service.FreeTravelTrafficService;<br />import com.icicle.framework.member.server.service.HotNewsService;<br />import com.icicle.framework.member.server.service.QuestionAnswerService;<br />import com.icicle.framework.member.server.service.QuestionService;<br />import com.icicle.framework.member.server.service.UploadImageService;<br />import com.icicle.framework.member.server.service.WebSiteCommentService;<br />import com.icicle.framework.order.client.criteria.FeedbackCriteria;<br />import com.icicle.framework.order.client.criteria.FreeTravelCriteria;<br />import com.icicle.framework.order.client.criteria.WebSiteCommentCriteria;<br />import com.icicle.framework.order.client.enums.BusTicketSource;<br />import com.icicle.framework.order.client.models.BusTicketPrice;<br />import com.icicle.goldenfly.bus.client.criteria.BusTicketPriceCriteria;</p>
<p>public class <span style="color: #800000">HotNewsManagerEngine </span>implements HotNewsManagerDriver {</p>
<p>&nbsp;private HotNewsService hotNewsService;<br />&nbsp;private WebSiteCommentService webSiteCommentService;<br />&nbsp;private QuestionService questionService;<br />&nbsp;private QuestionAnswerService questionAnswerService;<br />&nbsp;private FeedbackService feedbackService;<br />&nbsp;private BusTicketPriceService busTicketPriceService;<br />&nbsp;private FreeTravelService freeTravelService;<br />&nbsp;private UploadImageService uploadImageService;<br />&nbsp;private FreeTravelOtherService freeTravelOtherService;<br />&nbsp;private FreeTravelHotelService freeTravelHotelService;<br />&nbsp;private FreeTravelTrafficService freeTravelTrafficService;</p>
<p>&nbsp;public HotNewsManagerEngine(HotNewsService hotNewsService,<br />&nbsp;&nbsp;&nbsp;WebSiteCommentService webSiteCommentService,<br />&nbsp;&nbsp;&nbsp;QuestionService questionService,<br />&nbsp;&nbsp;&nbsp;QuestionAnswerService questionAnswerService,<br />&nbsp;&nbsp;&nbsp;FeedbackService feedbackService,<br />&nbsp;&nbsp;&nbsp;BusTicketPriceService busTicketPriceService,<br />&nbsp;&nbsp;&nbsp;FreeTravelService freeTravelService,<br />&nbsp;&nbsp;&nbsp;UploadImageService uploadImageService,<br />&nbsp;&nbsp;&nbsp;FreeTravelOtherService freeTravelOtherService,FreeTravelHotelService freeTravelHotelService,FreeTravelTrafficService freeTravelTrafficService) {<br />&nbsp;&nbsp;this.hotNewsService = hotNewsService;<br />&nbsp;&nbsp;this.webSiteCommentService = webSiteCommentService;<br />&nbsp;&nbsp;this.questionService = questionService;<br />&nbsp;&nbsp;this.questionAnswerService = questionAnswerService;<br />&nbsp;&nbsp;this.feedbackService = feedbackService;<br />&nbsp;&nbsp;this.busTicketPriceService = busTicketPriceService;<br />&nbsp;&nbsp;this.freeTravelService = freeTravelService;<br />&nbsp;&nbsp;this.uploadImageService = uploadImageService;<br />&nbsp;&nbsp;this.freeTravelOtherService = freeTravelOtherService;<br />&nbsp;&nbsp;this.freeTravelHotelService = freeTravelHotelService;<br />&nbsp;&nbsp;this.freeTravelTrafficService = freeTravelTrafficService;<br />&nbsp;}</p>
<p>&nbsp;public HotNewsManagerEngine() {<br />&nbsp;&nbsp;hotNewsService = (HotNewsService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(Constants.HOTNEWS_SERVICE);<br />&nbsp;&nbsp;webSiteCommentService = (WebSiteCommentService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constants.WEBSITE_COMMENT_SERVICE);<br />&nbsp;&nbsp;questionService = (QuestionService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(Constants.QUESTION_SERVICE);<br />&nbsp;&nbsp;questionAnswerService = (QuestionAnswerService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constants.QUESTION_ANSWER_SERVICE);<br />&nbsp;&nbsp;feedbackService = (FeedbackService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(Constants.FEEDBACK_SERVICE);<br />&nbsp;&nbsp;busTicketPriceService = (BusTicketPriceService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constants.BUSTICKETPRICE_SERVICE);<br />&nbsp;&nbsp;freeTravelService = (FreeTravelService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(Constants.FREETRAVEL_SERVICE);<br />&nbsp;&nbsp;uploadImageService = (UploadImageService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(Constants.UPLOADIMAGE_SERVICE);<br />&nbsp;&nbsp;freeTravelOtherService = (FreeTravelOtherService) ApplicationContextLoader<br />&nbsp;&nbsp;&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constants.FREETRAVELOTHER_SERVICE);<br />&nbsp;&nbsp;freeTravelHotelService = (FreeTravelHotelService) ApplicationContextLoader<br />&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;Constants.FREETRAVELHOTEL_SERVICE);<br />&nbsp;&nbsp;freeTravelTrafficService = (FreeTravelTrafficService) ApplicationContextLoader<br />&nbsp;&nbsp;.getApplicationContext().getBean(<br />&nbsp;&nbsp;&nbsp;&nbsp;Constants.FREETRAVELTRAFFIC_SERVICE);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;Long&gt; addHotNews(HotNews hotNews, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;hotNewsService.save(hotNews);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(hotNews.getId());<br />&nbsp;}</p>
<p>&nbsp;public Long countHotNews(HotNewsCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return hotNewsService.count(criteria, HotNews.class);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;?&gt; deleteHotNews(Long newsId, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;hotNewsService.deleteHotNews(newsId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;public List&lt;HotNews&gt; findHotNews(HotNewsCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return hotNewsService.find(criteria, HotNews.class);<br />&nbsp;}</p>
<p>&nbsp;public GroupByResult statisticsHotNews(HotNewsCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return hotNewsService.group(criteria, HotNews.class);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;?&gt; updateHotNews(HotNews hotNews, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;hotNewsService.update(hotNews);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;Long&gt; addWebSiteComment(WebSiteComment comment,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;webSiteCommentService.save(comment);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(comment.getId());<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public Long countWebSiteComment(WebSiteCommentCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return webSiteCommentService.count(criteria, WebSiteComment.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; deleteWebSiteComment(Long commentId,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;webSiteCommentService.deleteComment(commentId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public List&lt;WebSiteComment&gt; findWebSiteComment(<br />&nbsp;&nbsp;&nbsp;WebSiteCommentCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return webSiteCommentService.find(criteria, WebSiteComment.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public GroupByResult statisticsWebSiteComment(<br />&nbsp;&nbsp;&nbsp;WebSiteCommentCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return webSiteCommentService.group(criteria, WebSiteComment.class);</p>
<p>&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; updateWebSiteComment(WebSiteComment comment,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;webSiteCommentService.update(comment);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;Long&gt; addQuestion(Question question, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;questionService.save(question);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(question.getId());<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;?&gt; updateQuestion(Question question, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;questionService.update(question);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;public Long countQuestion(QuestionCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionService.count(criteria, Question.class);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;?&gt; deleteQuestion(Long questionId, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;questionService.deleteQuestion(questionId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;public List&lt;Question&gt; findQuestion(QuestionCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Boolean lazyLoad, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionService.findQuestion(criteria, lazyLoad);<br />&nbsp;}</p>
<p>&nbsp;public List&lt;Question&gt; findRelatedQuestions(Long questionId, Integer number,<br />&nbsp;&nbsp;&nbsp;Boolean lazyLoad, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionService.findRelatedQuestions(questionId, number,<br />&nbsp;&nbsp;&nbsp;&nbsp;lazyLoad);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;Long&gt; answerQuestion(Long quesetionId,<br />&nbsp;&nbsp;&nbsp;QuestionAnswer answer, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionService.answerQuestion(quesetionId, answer);<br />&nbsp;}</p>
<p>&nbsp;public Long countQuestionAnswer(QuestionAnswerCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionAnswerService.count(criteria, QuestionAnswer.class);<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;?&gt; deleteQuestionAnswer(Long answerId,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;questionAnswerService.deleteQuestionAnswer(answerId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;public List&lt;QuestionAnswer&gt; findQuestionAnswer(<br />&nbsp;&nbsp;&nbsp;QuestionAnswerCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return questionAnswerService.find(criteria, QuestionAnswer.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;Long&gt; addFeedback(Feedback feedback, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;feedbackService.save(feedback);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(feedback.getId());<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public Long countFeedback(FeedbackCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return feedbackService.count(criteria, Feedback.class);<br />&nbsp;}</p>
<p><br />&nbsp;public ReturnResult&lt;Long&gt; addFreeTravel(FreeTravel freeTravel,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelService.save(freeTravel);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(freeTravel.getId());<br />&nbsp;}</p>
<p>&nbsp;public ReturnResult&lt;Long&gt; addUploadImage(UploadImages uploadImage,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;uploadImageService.save(uploadImage);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(uploadImage.getId());<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;Long&gt; addFreeTravelOther(FreeTravelOther other, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelOtherService.save(other);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(other.getId());<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;Long&gt; addFreeTravelHotel(FreeTravelHotel hotel, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelHotelService.save(hotel);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(hotel.getId());<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;Long&gt; addFreeTravelTraffic(FreeTravelTraffic traffic, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelTrafficService.save(traffic);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(traffic.getId());<br />&nbsp;}</p>
<p><br />&nbsp;public Long countFreeTravel(FreeTravelCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return freeTravelService.count(criteria, FreeTravel.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; deleteFeedback(Long feedbackId, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;feedbackService.deleteFeedback(feedbackId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p><br />&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; deleteFreeTravel(Long freeTravelId,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelService.deleteFreeTravel(freeTravelId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;?&gt; deleteUploadImage(Long imageId, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;uploadImageService.deleteUploadImage(imageId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;?&gt; deleteFreeTravelOther(Long otherId, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelOtherService.deleteFreeTravelOther(otherId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public ReturnResult&lt;?&gt; deleteFreeTravelHotel(Long hotelId, Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelHotelService.deleteFreeTravelHotel(hotelId);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public List&lt;Feedback&gt; findFeedbackByList(FeedbackCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return feedbackService.find(criteria, Feedback.class);<br />&nbsp;}</p>
<p><br />&nbsp;public List&lt;FreeTravel&gt; findFreeTravelByList(FreeTravelCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return freeTravelService.find(criteria, FreeTravel.class);<br />&nbsp;}</p>
<p>&nbsp;public FreeTravel findFreeTravelById(FreeTravel freeTravel, Long freeTravelId ,Principal principal) throws ClientGenericException<br />&nbsp;{<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return freeTravelService.getById(FreeTravel.class, freeTravelId);<br />&nbsp;}<br />&nbsp;/**<br />&nbsp; * 更新反馈信息<br />&nbsp; * <br />&nbsp; * @param feedback<br />&nbsp; * @param principal<br />&nbsp; * @return<br />&nbsp; * @throws ClientGenericException<br />&nbsp; */<br />&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; updateFreeTravel(FreeTravel freeTravel,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;freeTravelService.update(freeTravel);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; updateFeedback(Feedback feedback, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;feedbackService.update(feedback);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public List&lt;BusTicketPrice&gt; findBusTicketPrice(<br />&nbsp;&nbsp;&nbsp;BusTicketPriceCriteria criteria, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return busTicketPriceService.find(criteria, BusTicketPrice.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;Integer&gt; addBusTicketPrice(<br />&nbsp;&nbsp;&nbsp;BusTicketPrice busTicketPrice, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;busTicketPriceService.save(busTicketPrice);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult(busTicketPrice.getId());<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public Long countBusTicketPrice(BusTicketPriceCriteria criteria,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;return busTicketPriceService.count(criteria, BusTicketPrice.class);<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; deleteBusTicketPrice(Integer id, Principal principal)<br />&nbsp;&nbsp;&nbsp;throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;BusTicketPrice bean = new BusTicketPrice();<br />&nbsp;&nbsp;bean.setId(id);<br />&nbsp;&nbsp;busTicketPriceService.delete(bean);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public ReturnResult&lt;?&gt; updateBusTicketPrice(BusTicketPrice busTicketPrice,<br />&nbsp;&nbsp;&nbsp;Principal principal) throws ClientGenericException {<br />&nbsp;&nbsp;Principal.setInstance(principal);<br />&nbsp;&nbsp;busTicketPriceService.update(busTicketPrice);<br />&nbsp;&nbsp;return ReturnCode.NORMAL_OKAY.toResult();<br />&nbsp;}</p>
<p>&nbsp;@Override<br /><span style="color: #ff0000">&nbsp;public String batchUpdateBusTicketPrice(</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;List&lt;BusTicketPrice&gt; busTicketPriceList, Principal principal) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;try {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;Principal.setInstance(principal);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;int s = 0, f = 0, t = 0;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;String msg = "";</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;for (BusTicketPrice busTicketPrice : busTicketPriceList) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;BusTicketSource source = busTicketPrice.getSource();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;String fromBusStop = busTicketPrice.getFromBusStop();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;String toBusStop = busTicketPrice.getToBusStop();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;if (source == null || source.getKey() == null) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s++;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;if (fromBusStop == null || "".equals(fromBusStop)) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f++;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;if (toBusStop == null || "".equals(toBusStop)) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t++;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;// 查询</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;BusTicketPriceCriteria criteria = new BusTicketPriceCriteria();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;criteria.setSource(SetRestriction.in(source));</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;criteria.setFromBusStop(fromBusStop);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;criteria.setToBusStop(toBusStop);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;List&lt;BusTicketPrice&gt; list = busTicketPriceService.find(</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;criteria, BusTicketPrice.class);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;if (list != null &amp;&amp; list.size() &gt; 0) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BusTicketPrice tempBean = list.get(0);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer id = tempBean.getId();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyUtils.copyProperties(tempBean, busTicketPrice);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempBean.setId(id);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;busTicketPriceService.update(tempBean);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;} else {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;busTicketPriceService.save(busTicketPrice);</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;if (s &gt; 0) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;msg += "有 " + s + " 条数据因为没找到 [来源]字段信息导入失败;";</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;if (f &gt; 0) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;msg += "有 " + f + " 条数据因为没找到 [起始站点代码]字段信息导入失败;";</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;if (t &gt; 0) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;msg += "有 " + t + " 条数据因为没找到 [目的站点代码]字段信息导入失败;";</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;}</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;return msg;</span><br /><span style="color: #ff0000">&nbsp;&nbsp;} catch (Exception e) {</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;e.printStackTrace();</span><br /><span style="color: #ff0000">&nbsp;&nbsp;&nbsp;return "程序异常";</span><br /><span style="color: #ff0000">&nbsp;&nbsp;}</span></p>
<p>&nbsp;}</p>
<p>}<br /></p>
<p>&nbsp;</p>    <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/362703.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-04 17:15 <a href="http://www.blogjava.net/jimingminlovefly/articles/362703.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>案例-java发送QQ邮件</title><link>http://www.blogjava.net/jimingminlovefly/articles/362699.html</link><dc:creator>计明敏</dc:creator><author>计明敏</author><pubDate>Fri, 04 Nov 2011 08:56:00 GMT</pubDate><guid>http://www.blogjava.net/jimingminlovefly/articles/362699.html</guid><wfw:comment>http://www.blogjava.net/jimingminlovefly/comments/362699.html</wfw:comment><comments>http://www.blogjava.net/jimingminlovefly/articles/362699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jimingminlovefly/comments/commentRss/362699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jimingminlovefly/services/trackbacks/362699.html</trackback:ping><description><![CDATA[<p>package com.icicle.framework.member.server.util;</p>
<p>import java.io.BufferedInputStream;<br />import java.io.ByteArrayOutputStream;<br />import java.io.FileInputStream;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.io.UnsupportedEncodingException;<br />import java.util.Date;<br />import java.util.LinkedHashMap;<br />import java.util.Map;<br />import java.util.Properties;</p>
<p>import javax.activation.DataHandler;<br />import javax.activation.FileTypeMap;<br />import javax.mail.Authenticator;<br />import javax.mail.Message;<br />import javax.mail.MessagingException;<br />import javax.mail.Multipart;<br />import javax.mail.PasswordAuthentication;<br />import javax.mail.Session;<br />import javax.mail.Transport;<br />import javax.mail.internet.InternetAddress;<br />import javax.mail.internet.MimeBodyPart;<br />import javax.mail.internet.MimeMessage;<br />import javax.mail.internet.MimeMultipart;<br />import javax.mail.internet.MimeUtility;</p>
<p>import org.apache.commons.lang.StringUtils;<br />import org.apache.log4j.Logger;</p>
<p>import com.icicle.framework.member.client.SendingEmailEnvelope;<br />import com.icicle.framework.member.client.SendingEmailEnvelope.Attachment;</p>
<p>public class <span style="color: red">SendingEmailUtilImpl </span>implements SendingEmailUtil{</p>
<p>&nbsp;<br />&nbsp;private static final Logger logger = Logger.getLogger(SendingEmailUtilImpl.class);<br />&nbsp;private String host;<br />&nbsp;private String emailUser;<br />&nbsp;private String displayUserName;<br />&nbsp;private String password;<br />&nbsp;private String port;<br />&nbsp;<br />&nbsp;protected String switcher;<br />&nbsp;<br />&nbsp;private MessageTemplate emailSubjectTemplate;<br />&nbsp;private MessageTemplate emailContentTemplate;<br />&nbsp;<br />&nbsp;@Override<br />&nbsp;public void sendEmail(SendingEmailEnvelope envelope)<br />&nbsp;&nbsp;&nbsp;throws MessagingException {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;logger.debug("Sending Subject" + envelope.getSubject());<br />&nbsp;&nbsp;logger.debug("Sending Message " + envelope.getContent());<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if (envelope.getRecipients().size() == 0 ) {<br />&nbsp;&nbsp;&nbsp;logger.error("List of recipients is null");<br />&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;<span style="color: #ff0000">Properties </span><span style="color: #0000ff">props </span>= new <span style="color: red">Properties</span>();<br />&nbsp;&nbsp;/**自己邮件服务器配置<br />&nbsp;&nbsp;<span>props</span>.setProperty("mail.transport.protocol", "smtp");<br />&nbsp;&nbsp;<span>props</span>.setProperty("mail.host", host);<br />&nbsp;&nbsp;<span>props</span>.setProperty("mail.user", emailUser);<br />&nbsp;&nbsp;<span>props</span>.setProperty("mail.password", password);<br />&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //QQ邮件服务器<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.host", host);<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.port",port );<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.starttls.enable","true" );<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.auth", "true");<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.socketFactory.port", port);<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.put("mail.smtp.socketFactory.fallback", "false");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.setProperty("mail.imap.socketFactory.fallback", "false");<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.setProperty("mail.imap.port", "993");<br />&nbsp;&nbsp;<span style="color: #0000ff">props</span>.setProperty("mail.imap.socketFactory.port", "993");</p>
<p>&nbsp;&nbsp;// switcher<br />&nbsp;&nbsp;if(switcher != null &amp;&amp; switcher.equals("on")){<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;//Session mailSession = Session.getDefaultInstance(props, null);//自己邮件服务不需要验证 <br />&nbsp;&nbsp;&nbsp;//QQ邮件服务器，需要验证 <br />&nbsp;&nbsp;&nbsp;Session <span style="color: #0000ff">mailSession </span>= <span style="color: #ff0000">Session</span>.getDefaultInstance(props,new Authenticator(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected PasswordAuthentication getPasswordAuthentication() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new PasswordAuthentication(emailUser, password);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp;/**替换QQ邮件服务器时注释<br />&nbsp;&nbsp;&nbsp;Transport transport = null;&nbsp;<br />&nbsp;&nbsp;&nbsp;transport = mailSession.getTransport();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp;MimeMessage message = new MimeMessage(mailSession);<br />&nbsp;&nbsp;&nbsp;message.setFrom(new InternetAddress(displayUserName + "&lt;" + emailUser + "&gt;"));<br />&nbsp;&nbsp;&nbsp;message.setSentDate(new Date());<br />&nbsp;&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;message.setSubject(MimeUtility.encodeText(envelope.getSubject(), "UTF-8", "B"));<br />&nbsp;&nbsp;&nbsp;} catch (UnsupportedEncodingException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;logger.error("", e);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Multipart multipart = new MimeMultipart();<br />&nbsp;&nbsp;&nbsp;MimeBodyPart messageBodyPart = new MimeBodyPart();</p>
<p>&nbsp;&nbsp;&nbsp;messageBodyPart.setContent(envelope.getContent(), "text/html; charset=\"UTF-8\"");<br />&nbsp;&nbsp;&nbsp;messageBodyPart.setHeader("Content-Type", "text/html; charset=\"UTF-8\"");<br />&nbsp;&nbsp;&nbsp;messageBodyPart.setHeader("Content-Transfer-Encoding", "base64");<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;multipart.addBodyPart(messageBodyPart);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;if(envelope.getAttachments() != null){<br />&nbsp;&nbsp;&nbsp;&nbsp;logger.debug("Sending Attachments " + envelope.getAttachments().size());&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(Attachment attachment : envelope.getAttachments()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String fileName = attachment.getName();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byte[] bytes = attachment.getFile();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.debug("Sending Attached file " + fileName);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(StringUtils.isEmpty(fileName) || <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes == null || bytes.length == 0){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeBodyPart attachmentBodyPart = new MimeBodyPart();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attachmentBodyPart.setFileName(fileName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByteArrayDataSource dataSource = new ByteArrayDataSource();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataSource.setName(fileName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataSource.setBytes(bytes);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String contentType = <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileTypeMap.getDefaultFileTypeMap().getContentType(fileName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataSource.setContentType(contentType);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(new StringBuilder()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.append("FileName: ").append(fileName)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.append(" ContentType: ").append(contentType));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attachmentBodyPart.setDataHandler(new DataHandler(dataSource));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multipart.addBodyPart(attachmentBodyPart);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;message.setContent(multipart);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;if(envelope.getRecipients() != null){<br />&nbsp;&nbsp;&nbsp;&nbsp;for (String recipient : envelope.getRecipients()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (recipient != null &amp;&amp; !recipient.trim().equals("")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn("Ready to send emails to recipient '" + recipient + "'.");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.addRecipient(Message.RecipientType.TO,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new InternetAddress(recipient));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;if(envelope.getCc() != null){<br />&nbsp;&nbsp;&nbsp;&nbsp;for (String recipient : envelope.getCc()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (recipient != null &amp;&amp; !recipient.trim().equals("")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn("Ready to send emails to Cc '" + recipient + "'.");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.addRecipient(Message.RecipientType.CC,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new InternetAddress(recipient));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;if(envelope.getBcc() != null){<br />&nbsp;&nbsp;&nbsp;&nbsp;for (String recipient : envelope.getBcc()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (recipient != null &amp;&amp; !recipient.trim().equals("")) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn("Ready to send emails to Bcc '" + recipient + "'.");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.addRecipient(Message.RecipientType.BCC,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new InternetAddress(recipient));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;if (message.getAllRecipients() != null &amp;&amp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.getAllRecipients().length != 0) {<br />&nbsp;&nbsp;&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info("Sending message.");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/**<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transport.connect();替换QQ邮件服务器时注释<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transport.sendMessage(message, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.getAllRecipients());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transport.send(message,message.getAllRecipients());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info("Message sent.");<br />&nbsp;&nbsp;&nbsp;&nbsp;} finally {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//transport.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;logger.error("List of recipients is null");<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;public void sendEmail(String subject, String content, <br />&nbsp;&nbsp;&nbsp;Map&lt;String, byte[]&gt; attachments, Boolean preview, String... recipients )<br />&nbsp;&nbsp;&nbsp;throws MessagingException {<br />&nbsp;&nbsp;SendingEmailEnvelope envelope = new SendingEmailEnvelope();<br />&nbsp;&nbsp;envelope.setSubject(subject);<br />&nbsp;&nbsp;envelope.setContent(content);<br />&nbsp;&nbsp;envelope.addRecipients(recipients);<br />&nbsp;&nbsp;if (attachments != null) {<br />&nbsp;&nbsp;&nbsp;for (String name : attachments.keySet()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;byte[] file = attachments.get(name);<br />&nbsp;&nbsp;&nbsp;&nbsp;envelope.addAttachment(name, file);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;if(StringUtils.isNotBlank(content) &amp;&amp; preview == false){<br />&nbsp;&nbsp;&nbsp;sendEmail(envelope);&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;@Override<br />&nbsp;public SendingEmailEnvelope sendEmail(String subject, String templateName, Object[] args, <br />&nbsp;&nbsp;&nbsp;Map&lt;String, byte[]&gt; attachments, Boolean preview, String... recipients) throws MessagingException {<br />&nbsp;&nbsp;String subTemp = emailSubjectTemplate.getTemplate(subject, args);<br />&nbsp;&nbsp;if(subTemp != null){<br />&nbsp;&nbsp;&nbsp;subject = subTemp;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;String content = emailContentTemplate.getTemplate(templateName, args);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;SendingEmailEnvelope envelope = new SendingEmailEnvelope();<br />&nbsp;&nbsp;envelope.setSubject(subject);<br />&nbsp;&nbsp;envelope.setContent(content);<br />&nbsp;&nbsp;envelope.addRecipients(recipients);<br />&nbsp;&nbsp;if(attachments != null){<br />&nbsp;&nbsp;&nbsp;for(String name : attachments.keySet()){<br />&nbsp;&nbsp;&nbsp;&nbsp;byte[] file = attachments.get(name);<br />&nbsp;&nbsp;&nbsp;&nbsp;envelope.addAttachment(name, file);<br />&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;if(StringUtils.isNotBlank(content) &amp;&amp; preview == false){<br />&nbsp;&nbsp;&nbsp;this.sendEmail(envelope);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return envelope;<br />&nbsp;}</p>
<p>&nbsp;public void setHost(String host) {<br />&nbsp;&nbsp;this.host = host;<br />&nbsp;}</p>
<p>&nbsp;public void setEmailUser(String emailUser) {<br />&nbsp;&nbsp;this.emailUser = emailUser;<br />&nbsp;}</p>
<p>&nbsp;public void setDisplayUserName(String displayUserName) {<br />&nbsp;&nbsp;this.displayUserName = displayUserName;<br />&nbsp;}</p>
<p>&nbsp;public void setPassword(String password) {<br />&nbsp;&nbsp;this.password = password;<br />&nbsp;}</p>
<p>&nbsp;public void setEmailSubjectTemplate(MessageTemplate emailSubjectTemplate) {<br />&nbsp;&nbsp;this.emailSubjectTemplate = emailSubjectTemplate;<br />&nbsp;}</p>
<p>&nbsp;public void setEmailContentTemplate(MessageTemplate emailContentTemplate) {<br />&nbsp;&nbsp;this.emailContentTemplate = emailContentTemplate;<br />&nbsp;}</p>
<p>&nbsp;public MessageTemplate getEmailSubjectTemplate() {<br />&nbsp;&nbsp;return emailSubjectTemplate;<br />&nbsp;}</p>
<p>&nbsp;public MessageTemplate getEmailContentTemplate() {<br />&nbsp;&nbsp;return emailContentTemplate;<br />&nbsp;}</p>
<p>&nbsp;public String getPort() {<br />&nbsp;&nbsp;return port;<br />&nbsp;}</p>
<p>&nbsp;public void setPort(String port) {<br />&nbsp;&nbsp;this.port = port;<br />&nbsp;}</p>
<p>&nbsp;public void setSwitcher(String switcher) {<br />&nbsp;&nbsp;this.switcher = switcher;<br />&nbsp;}</p>
<p>&nbsp;<span style="color: #ff0000">public static void main(String[] args) throws MessagingException, IOException{</span><br />&nbsp;&nbsp;System.out.println("-----send eMial start-----");<br />&nbsp;&nbsp;SendingEmailUtilImpl email = new SendingEmailUtilImpl();<br />&nbsp;&nbsp;email.setHost("smtp.exmail.qq.com");<br />&nbsp;&nbsp;email.setEmailUser("<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#115;&#64;&#53;&#49;&#55;&#104;&#107;&#46;&#99;&#111;&#109;">cs@517hk.com</a>");<br />&nbsp;&nbsp;email.setPassword("szyl517hk");<br />&nbsp;&nbsp;email.setPort("465");<br />&nbsp;&nbsp;email.setDisplayUserName("517HK Customer Service");<br />&nbsp;&nbsp;email.setSwitcher("on");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;SendingEmailEnvelope envelope = new SendingEmailEnvelope();<br />&nbsp;&nbsp;envelope.setSubject("hello");<br />&nbsp;&nbsp;envelope.setContent("hello");<br />&nbsp;&nbsp;envelope.addRecipients("<a href='&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#56;&#50;&#48;&#54;&#55;&#49;&#51;&#48;&#64;&#113;&#113;&#46;&#99;&#111;&#109;&#34;&#44;&#34;&#52;&#53;&#52;&#50;&#52;&#51;&#56;&#48;&#64;&#113;&#113;&#46;&#99;&#111;&#109;' href_cetemp='mailto:82067130@qq.com","45424380@qq.com'>82067130@qq.com","45424380@qq.com</a>");<br />&nbsp;&nbsp;email.sendEmail(envelope);<br />&nbsp;&nbsp;System.out.println("-----send eMial end-----");<br />&nbsp;&nbsp;<br />//&nbsp;&nbsp;Map&lt;String, byte[]&gt; attachments = new LinkedHashMap&lt;String, byte[]&gt;();<br />//&nbsp;&nbsp;InputStream in = new BufferedInputStream(new FileInputStream("C:\\temp\\HotelXo.pdf"));<br />//&nbsp;&nbsp;ByteArrayOutputStream out = new ByteArrayOutputStream();<br />//&nbsp;&nbsp;try{<br />//&nbsp;&nbsp;&nbsp;byte[] buffer = new byte[512];<br />//&nbsp;&nbsp;&nbsp;int len = in.read(buffer);<br />//&nbsp;&nbsp;&nbsp;while(len &gt;= 0){<br />//&nbsp;&nbsp;&nbsp;&nbsp;out.write(buffer, 0, len);<br />//&nbsp;&nbsp;&nbsp;&nbsp;len = in.read(buffer);<br />//&nbsp;&nbsp;&nbsp;}<br />//&nbsp;&nbsp;&nbsp;attachments.put("HotelXo.pdf",&nbsp; out.toByteArray());<br />//&nbsp;&nbsp;&nbsp;email.sendEmail("hello", "Hello World.", null, "<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#104;&#97;&#114;&#108;&#101;&#115;&#46;&#115;&#111;&#64;&#50;&#50;&#50;&#109;&#46;&#110;&#101;&#116;">charles.so@222m.net</a>");&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;}finally{<br />//&nbsp;&nbsp;&nbsp;in.close();<br />//&nbsp;&nbsp;&nbsp;out.close();<br />//&nbsp;&nbsp;}</p>
<p>&nbsp;}<br />&nbsp;<br />}<br /></p>   <img src ="http://www.blogjava.net/jimingminlovefly/aggbug/362699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jimingminlovefly/" target="_blank">计明敏</a> 2011-11-04 16:56 <a href="http://www.blogjava.net/jimingminlovefly/articles/362699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>