﻿<?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-走在空中的人-随笔分类-java</title><link>http://www.blogjava.net/wx886104/category/34069.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 May 2013 07:04:20 GMT</lastBuildDate><pubDate>Sun, 12 May 2013 07:04:20 GMT</pubDate><ttl>60</ttl><item><title>将字符串转换成中文的方法（转）</title><link>http://www.blogjava.net/wx886104/archive/2013/05/12/399169.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Sun, 12 May 2013 06:46:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2013/05/12/399169.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/399169.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2013/05/12/399169.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/399169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/399169.html</trackback:ping><description><![CDATA[<div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #3e81fa; "><div><h3><span style="font-size: 20px; font-family: 微软雅黑, 黑体, Arial, Helvetica, sans-serif; "><strong style="background-color: #a0ffff; ">16进制字符串转换</strong>成中文方法.</span>&nbsp;&nbsp;</h3><p clearfix="" nbw-act=""  fc06"="" style="zoom: 1; margin: 0px 0px 20px; padding: 0px; line-height: 20px; "><span style="float: left; "><span style="margin: 0px 2px; ">2006-12-28 13:25:49</span><span style="margin: 0px 2px; ">|&nbsp;&nbsp;分类：</span>&nbsp;<a name="baidusnap0"></a><a m2a"="" href="http://lok-liu.blog.163.com/blog/#m=0&amp;t=1&amp;c=fks_082066093080082064093074087074086083080064082086" title="Java编程" style="color: #000000; cursor: pointer; text-decoration: none; "><strong style="background-color: #ffff66; ">Java</strong>编程</a></span><span fc07=""  ztag"="" style="float: right; "><span style="margin: 0px 2px; ">|</span><span fc03"="" id="$_fontswitch" style="position: relative; cursor: default; ">字号</span></span><span pnt=""  fc03"="" id="$_blog_subscribe" style="cursor: pointer; float: right; ">&nbsp;<a style="cursor: pointer; ">订阅</a></span></p></div></div><div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #3e81fa; "></div><div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #3e81fa; "></div><div fc05="" fc11="" nbw-blog=""  ztag"="" data-find="_10" style="line-height: 25px; word-wrap: break-word; margin: 15px 0px; padding-top: 5px; padding-bottom: 5px; overflow: hidden; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #3e81fa; "><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; background-color: #666699; width: 771px; background-position: initial initial; background-repeat: initial initial; "><tbody><tr><td style="border: #ece9d8; padding: 0in; background-color: transparent; "><table cellspacing="1" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 771px; "><tbody><tr><td style="border: #ffffff; padding: 3pt; background-color: white; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; ">现知道一个</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">16</span><span style="line-height: 21px; font-size: 8pt; ">进制的字符串，比如：</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">"6162B4F36364BCD2657CBAC366"</span><span style="line-height: 21px; font-size: 8pt; ">，哪位高手能给一个将这个字符串转换成中文的方法啊，我到百度上搜了半天也没搜到，即使有也不是</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><strong style="background-color: #ffff66; ">java</strong></span><span style="line-height: 21px; font-size: 8pt; ">方法。哪位高人能抽出宝贵的时间帮忙解决一下啊，万分感激！！！转换出来应该是六个字母，</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">3</span><span style="line-height: 21px; font-size: 8pt; ">个中文，还有一个符号，希望高手们把谜底揭开，关键是写出实现方法，谢谢了！！！！！！！！！！！！！！！！！！！！！！</span></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 12pt; padding: 0px; "><a rel="nofollow" style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;</a></p><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; background-color: #dddddd; width: 771px; background-position: initial initial; background-repeat: initial initial; "><tbody><tr><td style="border: #ece9d8; padding: 0.75pt; background-color: transparent; "><table cellspacing="1" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 769px; "><tbody><tr><td style="border: #ffffff; padding: 3pt; background-color: transparent; "><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 759px; "><tbody><tr><td width="100%" style="border: #ffffff; padding: 0in; width: 759px; background-color: transparent; "><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 759px; "><tbody><tr><td width="97%" style="border: #ffffff; padding: 0in; width: 608px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><strong><span style="line-height: 21px; font-size: 8pt; ">回复</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">求教</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">急</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">哪位高手能将</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">6162B4F36364BCD2657CBAC366</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">转换成中文</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;<br /></span><span style="line-height: 21px; font-size: 8pt; ">作</span>&nbsp;<span style="line-height: 21px; font-size: 8pt; ">者</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;<a rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/profile.jsp?user=102867" style="color: #000000; text-decoration: none; "><em><span style="color: #3e6b8a; ">ymy7100&nbsp;</span></em><em></em></a>&nbsp;&nbsp;<a rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/newinnermessage.jsp?userid=102867" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">短消息</span></a>&nbsp;&nbsp;&nbsp;<br /></span><span style="line-height: 21px; font-size: 8pt; ">回复主题</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;<a title="Posted by: ymy7100" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=9&amp;thread=42539&amp;message=154591#154591" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">求教</span><span style="color: #3e6b8a; ">!</span><span style="color: #3e6b8a; font-family: 宋体; ">急</span><span style="color: #3e6b8a; ">!</span><span style="color: #3e6b8a; font-family: 宋体; ">哪位高手能将</span><span style="color: #3e6b8a; ">6162B4F36364BCD2657CBAC366</span><span style="color: #3e6b8a; font-family: 宋体; ">转换成中文</span><span style="color: #3e6b8a; ">!</span></a></span></p></td><td nowrap="" width="1%" style="border: #ffffff; padding: 0in; width: 121px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">2006-12-21&nbsp;</span><span style="line-height: 21px; font-size: 8pt; ">下午</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">1:14 &nbsp;</span></p><p align="center" style="margin: 0in 0in 0pt; padding: 0px; text-align: center; "><span style="line-height: 21px; font-size: 8pt; ">回复</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;1 of 4</span></p></td><td width="1%" style="border: #ffffff; padding: 0in; width: 6px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><a title="回复" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/post.jsp?forum=9&amp;thread=42539&amp;message=154616&amp;reply=true" style="color: #000000; text-decoration: none; "></a></span></p></td><td nowrap="" width="1%" style="border: #ffffff; padding: 0in; width: 24px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><a title="回复" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/post.jsp?forum=9&amp;thread=42539&amp;message=154616&amp;reply=true" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">回复</span></a></span></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; background-color: white; width: 769px; background-position: initial initial; background-repeat: initial initial; "><tbody><tr><td style="border: #ffffff; padding: 2.25pt; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; ">晕！</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><br /></span><span style="line-height: 21px; font-size: 8pt; ">没有高手吗？</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><br /></span><span style="line-height: 21px; font-size: 8pt; ">是因<a name="baidusnap6"></a><strong style="color: white; background-color: #00aa00; ">为</strong>别的公司开发的</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">delphi</span><span style="line-height: 21px; font-size: 8pt; ">程序要调用我们的</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><strong style="background-color: #ffff66; ">java</strong></span><span style="line-height: 21px; font-size: 8pt; ">程序，其中</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><strong style="background-color: #ffff66; ">java</strong></span><span style="line-height: 21px; font-size: 8pt; ">中要写个函数，实现将他们传来的数据显示出来并存到数据库，哪位大虾伸出援手啊！！！！！！</span></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "><a rel="nofollow" style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;</a></p><table cellspacing="0" cellpadding="0" width="100%" border="0" data-find="_9" style="line-height: 25px; background-color: #dddddd; width: 771px; background-position: initial initial; background-repeat: initial initial; "><tbody data-find="_8"><tr data-find="_7"><td data-find="_6" style="border: #ece9d8; padding: 0.75pt; background-color: transparent; "><table cellspacing="1" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 769px; "><tbody><tr><td style="border: #ffffff; padding: 3pt; background-color: transparent; "><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 759px; "><tbody><tr><td width="100%" style="border: #ffffff; padding: 0in; width: 759px; background-color: transparent; "><table cellspacing="0" cellpadding="0" width="100%" border="0" style="line-height: 25px; width: 759px; "><tbody><tr><td width="97%" style="border: #ffffff; padding: 0in; width: 608px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><strong><span style="line-height: 21px; font-size: 8pt; ">回复</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">求教</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">急</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">哪位高手能将</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">6162B4F36364BCD2657CBAC366</span></strong><strong><span style="line-height: 21px; font-size: 8pt; ">转换成中文</span></strong><strong><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">!</span></strong>&nbsp;<span style="line-height: 21px; font-size: 8pt; color: red; font-family: Arial; ">[</span><span style="line-height: 21px; font-size: 8pt; color: red; ">得分</span><span style="line-height: 21px; font-size: 8pt; color: red; font-family: Arial; ">:50]</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;<br /></span><span style="line-height: 21px; font-size: 8pt; ">作</span>&nbsp;<span style="line-height: 21px; font-size: 8pt; ">者</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;<a rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/profile.jsp?user=35409" style="color: #000000; text-decoration: none; "><em><span style="color: #3e6b8a; ">rehte&nbsp;</span></em><em></em></a>&nbsp;&nbsp;<a rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/newinnermessage.jsp?userid=35409" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">短消息</span></a>&nbsp;&nbsp;&nbsp;<br /></span><span style="line-height: 21px; font-size: 8pt; ">回复主题</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">:&nbsp;<a title="Posted by: ymy7100" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=9&amp;thread=42539&amp;message=154591#154591" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">求教</span><span style="color: #3e6b8a; ">!</span><span style="color: #3e6b8a; font-family: 宋体; ">急</span><span style="color: #3e6b8a; ">!</span><span style="color: #3e6b8a; font-family: 宋体; ">哪位高手能将</span><span style="color: #3e6b8a; ">6162B4F36364BCD2657CBAC366</span><span style="color: #3e6b8a; font-family: 宋体; ">转换成中文</span><span style="color: #3e6b8a; ">!</span></a></span></p></td><td nowrap="" width="1%" style="border: #ffffff; padding: 0in; width: 121px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">2006-12-21&nbsp;</span><span style="line-height: 21px; font-size: 8pt; ">下午</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">2:42 &nbsp;</span></p><p align="center" style="margin: 0in 0in 0pt; padding: 0px; text-align: center; "><span style="line-height: 21px; font-size: 8pt; ">回复</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">&nbsp;2 of 4</span></p></td><td width="1%" style="border: #ffffff; padding: 0in; width: 6px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><a title="回复" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/post.jsp?forum=9&amp;thread=42539&amp;message=154635&amp;reply=true" style="color: #000000; text-decoration: none; "></a></span></p></td><td nowrap="" width="1%" style="border: #ffffff; padding: 0in; width: 24px; background-color: transparent; "><p style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><a title="回复" rel="nofollow" href="http://gceclub.sun.com.cn/NASApp/sme/jive/post.jsp?forum=9&amp;thread=42539&amp;message=154635&amp;reply=true" style="color: #000000; text-decoration: none; "><span style="color: #3e6b8a; font-family: 宋体; ">回复</span></a></span></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p></td></tr></tbody></table><p style="margin: 0in 0in 0pt; padding: 0px; "></p><table cellspacing="0" cellpadding="0" width="100%" border="0" data-find="_5" style="line-height: 25px; background-color: white; width: 769px; background-position: initial initial; background-repeat: initial initial; "><tbody data-find="_4"><tr data-find="_3"><td data-find="_2" style="border: #ffffff; padding: 2.25pt; background-color: transparent; "><p data-find="_1" style="margin: 0in 0in 0pt; padding: 0px; "><span style="line-height: 21px; font-size: 8pt; ">晕，帮帮你</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><br /></span><span style="line-height: 21px; font-size: 8pt; ">应该是：</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">ab</span><span style="line-height: 21px; font-size: 8pt; ">大</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">cd</span><span style="line-height: 21px; font-size: 8pt; ">家</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">e|</span><span style="line-height: 21px; font-size: 8pt; ">好</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">f<br /></span><span style="line-height: 21px; font-size: 8pt; ">首先要知道编码，中国<a name="baidusnap7"></a><strong style="color: white; background-color: #886800; ">汉字</strong>一般使用</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">GBK</span><span style="line-height: 21px; font-size: 8pt; ">或者</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">gb2312</span><span style="line-height: 21px; font-size: 8pt; ">，</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">gb2312</span><span style="line-height: 21px; font-size: 8pt; ">是</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">GBK</span><span style="line-height: 21px; font-size: 8pt; ">的子集，因此安全起见使用</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; ">GBK</span><span style="line-height: 21px; font-size: 8pt; ">一般就行了：</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><br /><br />public class Decoder {<br />public static void main(String[]args){<br />String result=decodeString(args[0], "GBK");<br />System.out.println(result);<br />}&nbsp;<br />private static String decodeString(String string, String encoding) {<br />try {<br />byte[]data=string2Bytes(string);<br />return new String(data, encoding);<br />} catch (UnsupportedEncodingException ex) {<br />ex.printStackTrace();<br />return null;<br />}<br />}&nbsp;<br />private static byte[] string2Bytes(String string) {<br />int blen=string.length()/2;<br />byte[]data=new byte[blen];<br />for(int i=0;i&lt;blen;i++){<br />String bStr=string.substring(2*i,2*(i+1));<br />data[i]=(byte)Integer.parseInt(bStr,16);<br />}<br />return data;<br />}<br />}<br /><br /></span><span style="line-height: 21px; font-size: 8pt; ">运行：</span><span style="line-height: 21px; font-size: 8pt; font-family: Arial; "><br /><strong style="background-color: #ffff66; ">java</strong>&nbsp;Decoder 6162B4F36364BCD2657CBAC366</span></p></td></tr></tbody></table></td></tr></tbody></table></div><img src ="http://www.blogjava.net/wx886104/aggbug/399169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2013-05-12 14:46 <a href="http://www.blogjava.net/wx886104/archive/2013/05/12/399169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA 取得当前目录的路径(转)及PS</title><link>http://www.blogjava.net/wx886104/archive/2012/03/26/372680.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 26 Mar 2012 01:34:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2012/03/26/372680.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/372680.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2012/03/26/372680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/372680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/372680.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JAVA 取得当前目录的路径(转)及PS&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2012/03/26/372680.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/372680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2012-03-26 09:34 <a href="http://www.blogjava.net/wx886104/archive/2012/03/26/372680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>axis安装与配置</title><link>http://www.blogjava.net/wx886104/archive/2010/10/29/336492.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Fri, 29 Oct 2010 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2010/10/29/336492.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/336492.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2010/10/29/336492.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/336492.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/336492.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: axis安装与配置时的一些问题和解决方法&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2010/10/29/336492.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/336492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2010-10-29 15:15 <a href="http://www.blogjava.net/wx886104/archive/2010/10/29/336492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决 java.util.MissingResourceException: Can't find bundle for base name com...config, locale zh_CN 错误 </title><link>http://www.blogjava.net/wx886104/archive/2010/10/27/336248.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Wed, 27 Oct 2010 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2010/10/27/336248.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/336248.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2010/10/27/336248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/336248.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/336248.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 解决 java.util.MissingResourceException: Can't find bundle for base name com...config, locale zh_CN 错误&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2010/10/27/336248.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/336248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2010-10-27 09:37 <a href="http://www.blogjava.net/wx886104/archive/2010/10/27/336248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决java.lang.UnsupportedClassVersionError问题</title><link>http://www.blogjava.net/wx886104/archive/2010/10/26/336207.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Tue, 26 Oct 2010 11:21:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2010/10/26/336207.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/336207.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2010/10/26/336207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/336207.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/336207.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: tomcat运行项目中出项java.lang.UnsupportedClassVersionError: com/xxxxxx/xxxx/xxx/xxx(Unsupported major.minor version 49.0) 解决方法及原因<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2010/10/26/336207.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/336207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2010-10-26 19:21 <a href="http://www.blogjava.net/wx886104/archive/2010/10/26/336207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 加密解密工具类</title><link>http://www.blogjava.net/wx886104/archive/2009/04/30/268360.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Thu, 30 Apr 2009 07:07:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/04/30/268360.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/268360.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/04/30/268360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/268360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/268360.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_0_62_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_62_Open_Text.style.display='none'; Codehighlighter1_0_62_Closed_Image.style.display='inline'; Codehighlighter1_0_62_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_0_62_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_62_Closed_Text.style.display='none'; Codehighlighter1_0_62_Open_Image.style.display='inline'; Codehighlighter1_0_62_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_62_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_0_62_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;input&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@throws</span><span style="color: #008000">&nbsp;Exception&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_130_648_Open_Image" onclick="this.style.display='none'; Codehighlighter1_130_648_Open_Text.style.display='none'; Codehighlighter1_130_648_Closed_Image.style.display='inline'; Codehighlighter1_130_648_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_130_648_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_130_648_Closed_Text.style.display='none'; Codehighlighter1_130_648_Open_Image.style.display='inline'; Codehighlighter1_130_648_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></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;encryptData(String&nbsp;input)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_130_648_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_130_648_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecureRandom&nbsp;sr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SecureRandom();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">&nbsp;rawKeyData[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">ABCDEFGH</span><span style="color: #000000">"</span><span style="color: #000000">.getBytes();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;DESKeySpec&nbsp;dks&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DESKeySpec(rawKeyData);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecretKeyFactory&nbsp;keyFactory&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SecretKeyFactory.getInstance(</span><span style="color: #000000">"</span><span style="color: #000000">DES</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecretKey&nbsp;key&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;keyFactory.generateSecret(dks);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;Cipher&nbsp;c&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Cipher.getInstance(</span><span style="color: #000000">"</span><span style="color: #000000">DES</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;c.init(Cipher.ENCRYPT_MODE,&nbsp;key,&nbsp;sr);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;cipherByte&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;c.doFinal(input.getBytes());&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;dec&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BASE64Encoder().encode(cipherByte);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;dec;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_656_718_Open_Image" onclick="this.style.display='none'; Codehighlighter1_656_718_Open_Text.style.display='none'; Codehighlighter1_656_718_Closed_Image.style.display='inline'; Codehighlighter1_656_718_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_656_718_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_656_718_Closed_Text.style.display='none'; Codehighlighter1_656_718_Open_Image.style.display='inline'; Codehighlighter1_656_718_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_656_718_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_656_718_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">24</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;input&nbsp;&nbsp;<br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">26</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@throws</span><span style="color: #008000">&nbsp;Exception&nbsp;&nbsp;<br />
</span><span style="color: #008080">27</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img id="Codehighlighter1_786_1318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_786_1318_Open_Text.style.display='none'; Codehighlighter1_786_1318_Closed_Image.style.display='inline'; Codehighlighter1_786_1318_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_786_1318_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_786_1318_Closed_Text.style.display='none'; Codehighlighter1_786_1318_Open_Image.style.display='inline'; Codehighlighter1_786_1318_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></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;decryptData(String&nbsp;input)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_786_1318_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_786_1318_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;dec&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BASE64Decoder().decodeBuffer(input);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecureRandom&nbsp;sr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SecureRandom();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">&nbsp;rawKeyData[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">ABCDEFGH</span><span style="color: #000000">"</span><span style="color: #000000">.getBytes();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;DESKeySpec&nbsp;dks&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DESKeySpec(rawKeyData);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecretKeyFactory&nbsp;keyFactory&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SecretKeyFactory.getInstance(</span><span style="color: #000000">"</span><span style="color: #000000">DES</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;SecretKey&nbsp;key&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;keyFactory.generateSecret(dks);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;Cipher&nbsp;c&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Cipher.getInstance(</span><span style="color: #000000">"</span><span style="color: #000000">DES</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;c.init(Cipher.DECRYPT_MODE,&nbsp;key,&nbsp;sr);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;clearByte&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;c.doFinal(dec);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(clearByte);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">46</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">47</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
注：转自 http://jlusdy.javaeye.com/blog/145803
<img src ="http://www.blogjava.net/wx886104/aggbug/268360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-04-30 15:07 <a href="http://www.blogjava.net/wx886104/archive/2009/04/30/268360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js 日期控件</title><link>http://www.blogjava.net/wx886104/archive/2009/03/27/262465.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Fri, 27 Mar 2009 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/03/27/262465.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/262465.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/03/27/262465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/262465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/262465.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;1&lt;script&nbsp;language="JavaScript"&nbsp;type="text/JavaScript"&gt;&nbsp;&nbsp;2//&nbsp;日期选择&nbsp;&nbsp;3//&nbsp;By&nbsp;Ziyue(http://www.web-v.com/)&nbsp;&nbsp;4var&nbsp;months&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2009/03/27/262465.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/262465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-03-27 17:03 <a href="http://www.blogjava.net/wx886104/archive/2009/03/27/262465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初用org.apache.commons.beanutils.ConvertUtils </title><link>http://www.blogjava.net/wx886104/archive/2009/03/04/257710.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Wed, 04 Mar 2009 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/03/04/257710.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/257710.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/03/04/257710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/257710.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/257710.html</trackback:ping><description><![CDATA[<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'><font face='"Times'  New Roman&quot;>ConvertUtils</font>，这个工具类的职能是在字符串和指定类型的实例之间进行转换。
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>目前支持的类型有：
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<ul type='"disc"'>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.lang.BigDecimal
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.lang.BigInteger
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>boolean and java.lang.Boolean
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>byte and java.lang.Byte
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>char and java.lang.Character
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.lang.Class
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>double and java.lang.Double
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>float and java.lang.Float
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>int and java.lang.Integer
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>long and java.lang.Long
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>short and java.lang.Short
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.lang.String
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.io.File
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.net.URL
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.sql.Date
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.sql.Time
    <p>&nbsp;</p>
    <li class='"MsoNormal"'  0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt&quot;>java.sql.Timestamp
    <p>&nbsp;</p>
    </li>
</ul>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>总体提供两类功能：
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<p class='"MsoNormal"'  0cm mso-list: level1 tab-stops: list 0pt 21pt; TEXT-INDENT: -21pt; l1 lfo1; 21.0pt&quot;><font face='"Times'  New Roman&quot;><font size='"3"'>1.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font size='"3"'>将字符串转换为指定类型；
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<p class='"MsoNormal"'  0cm mso-list: level1 tab-stops: list 0pt 21pt; TEXT-INDENT: -21pt; l1 lfo1; 21.0pt&quot;><font face='"Times'  New Roman&quot;><font size='"3"'>2.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font size='"3"'>注册、注销和查询类型转换器；</font></p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;>convert(java.lang.Object&nbsp;value)</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>将任意的实例转变为<font face='"Times'  New Roman&quot;>String</font>，用法非常简单。在尝试的过程中，感觉与调用实例上的<font face='"Times'  New Roman&quot;>toString()</font>方法的效果一样，不知道是不是在这个方法内仅仅是调用了传入实例的<font face='"Times'  New Roman&quot;>toString()</font>方法。</font></p>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'><font face='"Times'  New Roman&quot;><em><font size='"3"'><font face='"Times'  New Roman&quot;>ps:</font>需要读源代码才能清楚。</font></em></font></font></p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;>convert(java.lang.String&nbsp;value, java.lang.Class&nbsp;clazz)
<p>&nbsp;</p>
</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>将字符串<font face='"Times'  New Roman&quot;>value</font>转换为<font face='"Times'  New Roman&quot;>clazz</font>的一个实例；如果失败的话，就以<font face='"Times'  New Roman&quot;>String</font>的形式返回<font face='"Times'  New Roman&quot;>value</font>。
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;>convert(java.lang.String[]&nbsp;values, java.lang.Class&nbsp;clazz)
<p>&nbsp;</p>
</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>这个方法是对前一方法的加强版，将数组中的每个<font face='"Times'  New Roman&quot;>value</font>都进行转换，最后以<font face='"Times'  New Roman&quot;>Object</font>返回。（数组也是<font face='"Times'  New Roman&quot;>Object</font>啊）
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;><a href='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#deregister()"' href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#deregister()"'>deregister</a>()和<a href='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#deregister()"' href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#deregister()"'>deregister</a>(java.lang.Class&nbsp;clazz)</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>注销转换器，前者将所有的转换器注销掉，后者只注销对应于<font face='"Times'  New Roman&quot;>clazz</font>的转换器。注销在这里不是彻底删除了，而是将转换器变为默认的转换器（<font face='"Times'  New Roman&quot;>apache commons</font>提供的）。</font></p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;><a href='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#lookup(java.lang.Class)"' href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#lookup(java.lang.Class)"'>lookup</a>(java.lang.Class&nbsp;clazz)</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>获取指定类型<font face='"Times'  New Roman&quot;>clazz</font>的转换器.</font></p>
<h5 class='"MsoNormal"'  0cm 0pt&quot;><a href='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#register(org.apache.commons.beanutils.Converter,' href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#register(org.apache.commons.beanutils.Converter,'  java.lang.Class)&quot;>register</a>(<a href='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/Converter.html"' href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/Converter.html"'>Converter</a>&nbsp;converter, java.lang.Class&nbsp;clazz)</h5>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'>为指定类型<font face='"Times'  New Roman&quot;>clazz</font>注册转换器<font face='"Times'  New Roman&quot;>converter</font>。如果<font face='"Times'  New Roman&quot;>clazz</font>已经存在一个对应的转换器，那么<font face='"Times'  New Roman&quot;>converter</font>，将覆盖原来的转换器。也就是说，我们可以为<font face='"Times'  New Roman&quot;>String,Double</font>创建自定义的类型转换器，并在注册后进行使用。</font></p>
<p class='"MsoNormal"'  0cm 0pt&quot;><font size='"3"'><font face='"Times'  New Roman&quot;><em><font size='"3"'><font face='"Times'  New Roman&quot;>ps:apache</font>的类定义明确，描述非常清楚，所以就不贴出例子了。当然这只是到达可以正常使用的阶段，如果要进行改造或者创建自己的<font face='"Times'  New Roman&quot;>ConvertUtils</font>，那可能需要更多的时间，因为还要去参考<font face='"Times'  New Roman&quot;>ConvertUtilsBean</font>，这里就不详述了。<br />
<br />
以下为使用convertUtils的一个DATE类型的例子（该例子来源于尚学堂视屏）<br />
1.定义converter<br />
</p>
<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: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.bjsxt.oa.web;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.text.ParseException;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.text.SimpleDateFormat;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Date;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.commons.beanutils.Converter;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_219_616_Open_Image" onclick="this.style.display='none'; Codehighlighter1_219_616_Open_Text.style.display='none'; Codehighlighter1_219_616_Closed_Image.style.display='inline'; Codehighlighter1_219_616_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_219_616_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_219_616_Closed_Text.style.display='none'; Codehighlighter1_219_616_Open_Image.style.display='inline'; Codehighlighter1_219_616_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;UtilDateConverter&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Converter&nbsp;</span><span id="Codehighlighter1_219_616_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_219_616_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;SimpleDateFormat&nbsp;format&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SimpleDateFormat(</span><span style="color: #000000">"</span><span style="color: #000000">yyyy-MM-dd</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_351_613_Open_Image" onclick="this.style.display='none'; Codehighlighter1_351_613_Open_Text.style.display='none'; Codehighlighter1_351_613_Closed_Image.style.display='inline'; Codehighlighter1_351_613_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_351_613_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_351_613_Closed_Text.style.display='none'; Codehighlighter1_351_613_Open_Image.style.display='inline'; Codehighlighter1_351_613_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Object&nbsp;convert(Class&nbsp;type,&nbsp;Object&nbsp;value)&nbsp;</span><span id="Codehighlighter1_351_613_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_351_613_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img id="Codehighlighter1_374_395_Open_Image" onclick="this.style.display='none'; Codehighlighter1_374_395_Open_Text.style.display='none'; Codehighlighter1_374_395_Closed_Image.style.display='inline'; Codehighlighter1_374_395_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_374_395_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_374_395_Closed_Text.style.display='none'; Codehighlighter1_374_395_Open_Image.style.display='inline'; Codehighlighter1_374_395_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(value&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 id="Codehighlighter1_374_395_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_374_395_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;value;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_426_447_Open_Image" onclick="this.style.display='none'; Codehighlighter1_426_447_Open_Text.style.display='none'; Codehighlighter1_426_447_Closed_Image.style.display='inline'; Codehighlighter1_426_447_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_426_447_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_426_447_Closed_Text.style.display='none'; Codehighlighter1_426_447_Open_Image.style.display='inline'; Codehighlighter1_426_447_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(value&nbsp;</span><span style="color: #0000ff">instanceof</span><span style="color: #000000">&nbsp;Date)&nbsp;</span><span id="Codehighlighter1_426_447_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_426_447_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;value;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img id="Codehighlighter1_480_595_Open_Image" onclick="this.style.display='none'; Codehighlighter1_480_595_Open_Text.style.display='none'; Codehighlighter1_480_595_Closed_Image.style.display='inline'; Codehighlighter1_480_595_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_480_595_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_480_595_Closed_Text.style.display='none'; Codehighlighter1_480_595_Open_Image.style.display='inline'; Codehighlighter1_480_595_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(value&nbsp;</span><span style="color: #0000ff">instanceof</span><span style="color: #000000">&nbsp;String)&nbsp;</span><span id="Codehighlighter1_480_595_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_480_595_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_489_534_Open_Image" onclick="this.style.display='none'; Codehighlighter1_489_534_Open_Text.style.display='none'; Codehighlighter1_489_534_Closed_Image.style.display='inline'; Codehighlighter1_489_534_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_489_534_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_489_534_Closed_Text.style.display='none'; Codehighlighter1_489_534_Open_Image.style.display='inline'; Codehighlighter1_489_534_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_489_534_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_489_534_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;format.parse((String)value);<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_561_591_Open_Image" onclick="this.style.display='none'; Codehighlighter1_561_591_Open_Text.style.display='none'; Codehighlighter1_561_591_Closed_Image.style.display='inline'; Codehighlighter1_561_591_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_561_591_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_561_591_Closed_Text.style.display='none'; Codehighlighter1_561_591_Open_Image.style.display='inline'; Codehighlighter1_561_591_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(ParseException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_561_591_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_561_591_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
</font></em></font></font>2.使用convertUilts注册converter<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: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.bjsxt.oa.web;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Date;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletException;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServlet;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.commons.beanutils.ConvertUtils;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img id="Codehighlighter1_243_370_Open_Image" onclick="this.style.display='none'; Codehighlighter1_243_370_Open_Text.style.display='none'; Codehighlighter1_243_370_Closed_Image.style.display='inline'; Codehighlighter1_243_370_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_243_370_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_243_370_Closed_Text.style.display='none'; Codehighlighter1_243_370_Open_Image.style.display='inline'; Codehighlighter1_243_370_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;UtilDateConverterInitServlet&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;</span><span id="Codehighlighter1_243_370_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_243_370_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_301_367_Open_Image" onclick="this.style.display='none'; Codehighlighter1_301_367_Open_Text.style.display='none'; Codehighlighter1_301_367_Closed_Image.style.display='inline'; Codehighlighter1_301_367_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_301_367_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_301_367_Closed_Text.style.display='none'; Codehighlighter1_301_367_Open_Image.style.display='inline'; Codehighlighter1_301_367_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException&nbsp;</span><span id="Codehighlighter1_301_367_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_301_367_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConvertUtils.register(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;UtilDateConverter(),&nbsp;Date.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
3.在web.xml中配置servlet<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: #008080">1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">utilDateConverter</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.bjsxt.oa.web.UtilDateConverterInitServlet</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">3</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<img src ="http://www.blogjava.net/wx886104/aggbug/257710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-03-04 10:36 <a href="http://www.blogjava.net/wx886104/archive/2009/03/04/257710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>org.apache.commons.beanutils.BeanUtils介绍</title><link>http://www.blogjava.net/wx886104/archive/2009/03/04/257699.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Wed, 04 Mar 2009 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/03/04/257699.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/257699.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/03/04/257699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/257699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/257699.html</trackback:ping><description><![CDATA[<div class="tit">org.apache.commons.beanutils.BeanUtils</div>
<div class="date">&nbsp;</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">一、简介：<br />
            <br />
            BeanUtils提供对 Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道，一个JavaBean通常包含了大量的属性，很 多情况下，对JavaBean的处理导致大量get/set代码堆积，增加了代码长度和阅读代码的难度。<br />
            <br />
            二、用法：<br />
            <br />
            BeanUtils是这个包里比较常用的一个工具类，这里只介绍它的copyProperties()方法。该方法定义如下：<br />
            <pre><br />
            public static void copyProperties(java.lang.Object dest,java.lang.Object orig)<br />
            &nbsp;&nbsp;&nbsp; throws java.lang.IllegalAccessException,<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.reflect.InvocationTargetException<br />
            </pre>
            <br />
            <br />
            如 果你有两个具有很多相同属性的JavaBean，一个很常见的情况就是Struts里的PO对象（持久对象）和对应的ActionForm，例如 Teacher和TeacherForm。我们一般会在Action里从ActionForm构造一个PO对象，传统的方式是使用类似下面的语句对属性逐 个赋值：<br />
            <pre><br />
            //得到TeacherForm<br />
            TeacherForm teacherForm=(TeacherForm)form;<br />
            //构造Teacher对象<br />
            Teacher teacher=new Teacher();<br />
            //赋值<br />
            teacher.setName(teacherForm.getName());<br />
            teacher.setAge(teacherForm.getAge());<br />
            teacher.setGender(teacherForm.getGender());<br />
            teacher.setMajor(teacherForm.getMajor());<br />
            teacher.setDepartment(teacherForm.getDepartment());<br />
            <br />
            //持久化Teacher对象到数据库<br />
            HibernateDAO=;<br />
            HibernateDAO.save(teacher);<br />
            <br />
            而使用BeanUtils后，代码就大大改观了，如下所示：<br />
            //得到TeacherForm<br />
            TeacherForm teacherForm=(TeacherForm)form;<br />
            //构造Teacher对象<br />
            Teacher teacher=new Teacher();<br />
            //赋值<br />
            BeanUtils.copyProperties(teacher,teacherForm);<br />
            //持久化Teacher对象到数据库<br />
            HibernateDAO=;<br />
            HibernateDAO.save(teacher);<br />
            </pre>
            <br />
            <br />
            如 果Teacher和TeacherForm间存在名称不相同的属性，则BeanUtils不对这些属性进行处理，需要程序员手动处理。例如 Teacher包含modifyDate（该属性记录最后修改日期，不需要用户在界面中输入）属性而TeacherForm无此属性，那么在上面代码的 copyProperties()后还要加上一句：<br />
            <pre><br />
            teacher.setModifyDate(new Date());<br />
            </pre>
            <br />
            <br />
            怎 么样，很方便吧！除BeanUtils外还有一个名为PropertyUtils的工具类，它也提供copyProperties()方法，作用与 BeanUtils的同名方法十分相似，主要的区别在于后者提供类型转换功能，即发现两个JavaBean的同名属性为不同类型时，在支持的数据类型范围 内进行转换，而前者不支持这个功能，但是速度会更快一些。BeanUtils支持的转换类型如下：<br />
            <pre><br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.lang.BigDecimal<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.lang.BigInteger<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * boolean and java.lang.Boolean<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * byte and java.lang.Byte<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * char and java.lang.Character<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.lang.Class<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * double and java.lang.Double<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * float and java.lang.Float<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * int and java.lang.Integer<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * long and java.lang.Long<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * short and java.lang.Short<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.lang.String<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.sql.Date<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.sql.Time<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * java.sql.Timestamp <br />
            </pre>
            <br />
            <br />
            这里要注意一点，java.util.Date是不被支持的，而它的子类java.sql.Date是被支持的。因此如果对象包含时间类型的属性，且希望被转换的时候，一定要使用java.sql.Date类型。否则在转换时会提示argument mistype异常。<br />
            <br />
            三、优缺点：<br />
            <br />
            Apache Jakarta Commons项目非常有用。我曾在许多不同的项目上或直接或间接地使用各种流行的commons组件。其中的一个强大的组件就是BeanUtils。我 将说明如何使用BeanUtils将local实体bean转换为对应的value 对象：<br />
            <br />
            <pre><br />
            BeanUtils.copyProperties(aValue, aLocal)<br />
            </pre>
            <br />
            <br />
            上 面的代码从aLocal对象复制属性到aValue对象。它相当简单！它不管local（或对应的value）对象有多少个属性，只管进行复制。我们假设 local对象有100个属性。上面的代码使我们可以无需键入至少100行的冗长、容易出错和反复的get和set方法调用。这太棒了！太强大了！太有用 了！<br />
            <br />
            现在，还有一个坏消息：使用BeanUtils的成本惊人地昂贵！我做了一个简单的测试，BeanUtils所花费的时间要超过取数 据、将其复制到对应的 value对象（通过手动调用get和set方法），以及通过串行化将其返回到远程的客户机的时间总和。所以要小心使用这种威力！ <img height="1" src="http://c.services.spaces.live.com/CollectionWebService/c.gif?space=lifejava&amp;page=RSS%3a+org.apache.commons.beanutils.BeanUtils+%e7%ae%80%e4%bb%8b&amp;referrer=" width="1" border="0"  alt="" /><img style="position: absolute" height="0" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=88469&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=lifejava.spaces.live.com&amp;GT1=lifejava%3b2052" width="0"  alt="" /> <br />
            该文章的原文地址为：<a href="http://lifejava.spaces.live.com/Blog/cns%21A666C33543221640%21158.entry" target="_blank">http://lifejava.spaces.live.com/Blog/cns!A666C33543221640!158.entry</a></div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/wx886104/aggbug/257699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-03-04 09:53 <a href="http://www.blogjava.net/wx886104/archive/2009/03/04/257699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts 2.0整合Hibernate 3.2开发注册登录系统(转)</title><link>http://www.blogjava.net/wx886104/archive/2009/02/09/253883.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 09 Feb 2009 04:08:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/02/09/253883.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/253883.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/02/09/253883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/253883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/253883.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/wx886104/archive/2009/02/09/253883.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/253883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-02-09 12:08 <a href="http://www.blogjava.net/wx886104/archive/2009/02/09/253883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts 2.0整合Hibernate 3.2开发注册登录系统(转)</title><link>http://www.blogjava.net/wx886104/archive/2009/02/09/253881.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 09 Feb 2009 04:07:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/02/09/253881.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/253881.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/02/09/253881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/253881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/253881.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/wx886104/archive/2009/02/09/253881.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/253881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-02-09 12:07 <a href="http://www.blogjava.net/wx886104/archive/2009/02/09/253881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ThreadLocal</title><link>http://www.blogjava.net/wx886104/archive/2009/01/12/250929.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 12 Jan 2009 02:23:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2009/01/12/250929.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/250929.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2009/01/12/250929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/250929.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/250929.html</trackback:ping><description><![CDATA[<p><strong>什么是ThreadLocal？</strong></p>
<p>顾名思义它是local variable（线程局部变量）。它的功用非常简单，就是为每一个使用该变量的线程都提供一个变量值的副本，是每一个线程都可以独立地改变自己的副本，而不会和其它线程的副本冲突。从线程的角度看，就好像每一个线程都完全拥有该变量。</p>
<p>使用场景</p>
<ol>
    <li><strong>To keep state with a thread (user-id, transaction-id, logging-id)</strong>
    <li><strong>To cache objects which you need frequently</strong> </li>
</ol>
<p><strong>ThreadLocal类</strong></p>
<p>它 主要由四个方法组成initialValue()，get()，set(T)，remove()，其中值得注意的是initialValue()，该方法 是一个protected的方法，显然是为了子类重写而特意实现的。该方法返回当前线程在该线程局部变量的初始值，这个方法是一个延迟调用方法，在一个线 程第1次调用get()或者set(Object)时才执行，并且仅执行1次。ThreadLocal中的确实实现直接返回一个null：</p>
<p>ThreadLocal的原理</p>
<p>ThreadLocal是如何做到为每一个线程维护变量的副本的呢？其实实现的思路很简单，在ThreadLocal类中有一个Map，用于存储每一个线程的变量的副本。比如下面的示例实现：</p>
<p>public class ThreadLocal<br />
{<br />
private Map values = Collections.synchronizedMap(new HashMap());<br />
public Object get()<br />
{<br />
Thread curThread = Thread.currentThread(); <br />
Object o = values.get(curThread); <br />
if (o == null &amp;&amp; !values.containsKey(curThread))<br />
{<br />
o = initialValue();<br />
values.put(curThread, o); <br />
}<br />
return o; <br />
}</p>
<p>　public void set(Object newValue)<br />
{<br />
values.put(Thread.currentThread(), newValue);<br />
}</p>
<p>　public Object initialValue()<br />
{<br />
return null; <br />
}<br />
} </p>
<p><strong>ThreadLocal 的使用</strong></p>
<p>使用方法一：</p>
<p>Hibernate的文档时看到了关于使ThreadLocal管理多线程访问的部分。具体代码如下 <br />
<br />
1.&nbsp;&nbsp;public static final ThreadLocal session = new ThreadLocal(); <br />
2.&nbsp;&nbsp;public static Session currentSession() { <br />
3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session s = (Session)session.get(); <br />
4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//open a new session,if this session has none <br />
5.&nbsp;&nbsp; if(s == null){ <br />
6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = sessionFactory.openSession(); <br />
7.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.set(s); <br />
8.&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return s; <br />
9. } <br />
<br />
我们逐行分析 <br />
1。 初始化一个ThreadLocal对象，ThreadLocal有三个成员方法 get()、set()、initialvalue()。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;如果不初始化initialvalue，则initialvalue返回null。 <br />
3。 session的get根据当前线程返回其对应的线程内部变量，也就是我们需要的net.sf.hibernate.Session（相当于对应每个数据 库连接）.多线程情况下共享数据库链接是不安全的。ThreadLocal保证了每个线程都有自己的s（数据库连接）。 <br />
5。如果是该线程初次访问，自然，s（数据库连接）会是null，接着创建一个Session，具体就是行6。 <br />
6。创建一个数据库连接实例 s <br />
7。保存该数据库连接s到ThreadLocal中。 <br />
8。如果当前线程已经访问过数据库了，则从session中get()就可以获取该线程上次获取过的连接实例 <br />
<br />
<br />
<br />
以上转自 橄榄树&nbsp; http://hi.baidu.com/mojiedao/blog/item/0ceeab99e7a0ad086f068c09.html</p>
<img src ="http://www.blogjava.net/wx886104/aggbug/250929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2009-01-12 10:23 <a href="http://www.blogjava.net/wx886104/archive/2009/01/12/250929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pager-taglib的安装和使用</title><link>http://www.blogjava.net/wx886104/archive/2008/12/29/248944.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 29 Dec 2008 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/12/29/248944.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/248944.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/12/29/248944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/248944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/248944.html</trackback:ping><description><![CDATA[1、拷贝pager-taglib.jar包<br />
2、在JSP页面中使用taglib指令引入pager-taglib标签库<br />
3、使用pager-taglib标签库进行分页处理<br />
<br />
pg:pager【这个标签用来设置分页的总体参数】重要参数说明：<br />
&nbsp;&nbsp; &nbsp;url:分页的链接根地址，pager标签会在这个链接的基础上附加分页参数<br />
&nbsp;&nbsp; &nbsp;items:总记录数，pager标签正是根据这个值来计算分页参数的<br />
&nbsp;&nbsp; &nbsp;maxPageItems:每页显示的行数，默认为10<br />
&nbsp;&nbsp; &nbsp;maxIndexPages:在循环输出页码的时候，最大输出多少个页码，默认是10<br />
&nbsp;&nbsp; &nbsp;<br />
pg:first【第一页的标签】重要参数说明：<br />
&nbsp;&nbsp; &nbsp;export变量的意义：<br />
&nbsp;&nbsp; &nbsp;pageUrl - 分页链接URL地址（最重要的export参数）<br />
&nbsp;&nbsp; &nbsp;pageNumber - 页码<br />
&nbsp;&nbsp; &nbsp;firstItem - 首页第一行的索引值<br />
&nbsp;&nbsp; &nbsp;lastItem - 首页最后一行的索引值<br />
&nbsp;&nbsp; &nbsp;<br />
pg:pre【上一页标签】重要参数说明：<br />
&nbsp;&nbsp; &nbsp;export变量的意义：<br />
&nbsp;&nbsp; &nbsp;pageUrl - 分页链接URL地址（最重要的export参数）<br />
&nbsp;&nbsp; &nbsp;pageNumber - 页码<br />
&nbsp;&nbsp; &nbsp;firstItem - 前页第一行的索引值<br />
&nbsp;&nbsp; &nbsp;lastItem - 前页最后一行的索引值<br />
<br />
pg:next【下一页标签】重要参数说明：<br />
&nbsp;&nbsp; &nbsp;export变量的意义：<br />
&nbsp;&nbsp; &nbsp;pageUrl - 分页链接URL地址（最重要的export参数）<br />
&nbsp;&nbsp; &nbsp;pageNumber - 页码<br />
&nbsp;&nbsp; &nbsp;firstItem - 下页第一行的索引值<br />
&nbsp;&nbsp; &nbsp;lastItem - 下页最后一行的索引值<br />
&nbsp;&nbsp; &nbsp;<br />
pg:last重要参数说明：<br />
&nbsp;&nbsp; &nbsp;export变量的意义：<br />
&nbsp;&nbsp; &nbsp;pageUrl - 分页链接URL地址（最重要的export参数）<br />
&nbsp;&nbsp; &nbsp;pageNumber - 页码<br />
&nbsp;&nbsp; &nbsp;firstItem - 尾页第一行的索引值<br />
&nbsp;&nbsp; &nbsp;lastItem - 尾页最后一行的索引值<br />
&nbsp;&nbsp; &nbsp;<br />
pg:pages【这个标签用来循环输出页码信息】重要参数说明：<br />
&nbsp;&nbsp; &nbsp;export变量的意义：<br />
&nbsp;&nbsp; &nbsp;pageUrl - 分页链接URL地址（最重要的export参数）<br />
&nbsp;&nbsp; &nbsp;pageNumber - 页码<br />
&nbsp;&nbsp; &nbsp;firstItem - pageNumber这个页码指定的那一页的第一行的索引值<br />
&nbsp;&nbsp; &nbsp;lastItem - pageNumber这个页码指定的那一页的最后一行的索引值<br />
<br />
<br />
pager-taglib-2.0下载<br />
<a href="/Files/wx886104/pager-taglib-2.0.rar">http://www.blogjava.net/Files/wx886104/pager-taglib-2.0.rar</a><br />
<img src ="http://www.blogjava.net/wx886104/aggbug/248944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-12-29 16:45 <a href="http://www.blogjava.net/wx886104/archive/2008/12/29/248944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java--国际化</title><link>http://www.blogjava.net/wx886104/archive/2008/12/15/246314.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 15 Dec 2008 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/12/15/246314.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/246314.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/12/15/246314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/246314.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/246314.html</trackback:ping><description><![CDATA[<p>1、了解缺省Locale是由操作系统决定的，Locale是由语言和国家代码组成</p>
<p>2、国际化资源文件是由baseName+locale组成，如：MessageBundle_en_US.properties<br />
baseName是任意合法的文件名</p>
<p>3、native2ascii命令的位置和用法<br />
&nbsp;* 位置：JAVA_HOME/bin<br />
&nbsp;* 使用native2ascii.exe&nbsp; o.properties MessagesBundle_zh_CN.properties</p>
例：<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: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.bjsxt.i18n;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.text.MessageFormat;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Locale;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.ResourceBundle;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img id="Codehighlighter1_140_959_Open_Image" onclick="this.style.display='none'; Codehighlighter1_140_959_Open_Text.style.display='none'; Codehighlighter1_140_959_Closed_Image.style.display='inline'; Codehighlighter1_140_959_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_140_959_Closed_Image" style="display: none; width: 11px; height: 16px" onclick="this.style.display='none'; Codehighlighter1_140_959_Closed_Text.style.display='none'; Codehighlighter1_140_959_Open_Image.style.display='inline'; Codehighlighter1_140_959_Open_Text.style.display='inline';" height="16" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;I18nSample&nbsp;</span><span id="Codehighlighter1_140_959_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_140_959_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_183_957_Open_Image" onclick="this.style.display='none'; Codehighlighter1_183_957_Open_Text.style.display='none'; Codehighlighter1_183_957_Closed_Image.style.display='inline'; Codehighlighter1_183_957_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_183_957_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_183_957_Closed_Text.style.display='none'; Codehighlighter1_183_957_Open_Image.style.display='inline'; Codehighlighter1_183_957_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id="Codehighlighter1_183_957_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_183_957_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locale&nbsp;defaultLocale&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Locale.getDefault();</span><span style="color: #008000">//</span><span style="color: #008000">获取默认的本地化</span><span style="color: #008000"><br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">default&nbsp;country=</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;defaultLocale.getCountry());<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">default&nbsp;language=</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;defaultLocale.getLanguage());<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Locale&nbsp;currentLocale&nbsp;=&nbsp;new&nbsp;Locale("en",&nbsp;"US");</span><span style="color: #008000">//</span><span style="color: #008000">通过初始化指定语言和国际本地化<br />
</span><span style="color: #008080">16</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Locale&nbsp;currentLocale&nbsp;=&nbsp;new&nbsp;Locale("zh",&nbsp;"CN");</span><span style="color: #008000"><br />
</span><span style="color: #008080">17</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locale&nbsp;currentLocale&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Locale(</span><span style="color: #000000">"</span><span style="color: #000000">ja</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">JP</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResourceBundle&nbsp;rb&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ResourceBundle.getBundle(</span><span style="color: #000000">"</span><span style="color: #000000">res.MessagesBundle</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;currentLocale);</span><span style="color: #008000">//</span><span style="color: #008000">获取本地化配置<br />
</span><span style="color: #008080">21</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println(rb.getString("k1"));</span><span style="color: #008000">//</span><span style="color: #008000">通过配置文件中的key显示<br />
</span><span style="color: #008080">22</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println(rb.getString("k2"));</span><span style="color: #008000"><br />
</span><span style="color: #008080">23</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageFormat&nbsp;mf&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MessageFormat(rb.getString(</span><span style="color: #000000">"</span><span style="color: #000000">k1</span><span style="color: #000000">"</span><span style="color: #000000">));</span><span style="color: #008000">//</span><span style="color: #008000">通过站位符显示指定的信息</span><span style="color: #008000"><br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img id="Codehighlighter1_882_888_Open_Image" onclick="this.style.display='none'; Codehighlighter1_882_888_Open_Text.style.display='none'; Codehighlighter1_882_888_Closed_Image.style.display='inline'; Codehighlighter1_882_888_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_882_888_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_882_888_Closed_Text.style.display='none'; Codehighlighter1_882_888_Open_Image.style.display='inline'; Codehighlighter1_882_888_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(mf.format(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[]</span><span id="Codehighlighter1_882_888_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_882_888_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">"</span><span style="color: #000000">Tom</span><span style="color: #000000">"</span><span style="color: #000000">}</span></span><span style="color: #000000">));</span><span style="color: #008000">//</span><span style="color: #008000">对占位符填充<br />
</span><span style="color: #008080">26</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">System.out.println(mf.format(new&nbsp;Object[]{"张三"}));</span><span style="color: #008000"><br />
</span><span style="color: #008080">27</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
o.properties文件<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: #008080">1</span><img id="Codehighlighter1_6_8_Open_Image" onclick="this.style.display='none'; Codehighlighter1_6_8_Open_Text.style.display='none'; Codehighlighter1_6_8_Closed_Image.style.display='inline'; Codehighlighter1_6_8_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_6_8_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_6_8_Closed_Text.style.display='none'; Codehighlighter1_6_8_Open_Image.style.display='inline'; Codehighlighter1_6_8_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">k1</span><span style="color: #000000">=</span><span style="color: #000000">你好,</span><span id="Codehighlighter1_6_8_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_6_8_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />k2</span><span style="color: #000000">=</span><span style="color: #000000">再见</span></div>
缺省的properties文件MessagesBundle.properties<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: #008080">1</span><img id="Codehighlighter1_9_11_Open_Image" onclick="this.style.display='none'; Codehighlighter1_9_11_Open_Text.style.display='none'; Codehighlighter1_9_11_Closed_Image.style.display='inline'; Codehighlighter1_9_11_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_9_11_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_9_11_Closed_Text.style.display='none'; Codehighlighter1_9_11_Open_Image.style.display='inline'; Codehighlighter1_9_11_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">k1</span><span style="color: #000000">=</span><span style="color: #000000">hello,</span><span id="Codehighlighter1_9_11_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_9_11_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />k2</span><span style="color: #000000">=</span><span style="color: #000000">good&nbsp;bye</span></div>
英文文件MessagesBundle_en_US.properties<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: #008080">1</span><img id="Codehighlighter1_9_11_Open_Image" onclick="this.style.display='none'; Codehighlighter1_9_11_Open_Text.style.display='none'; Codehighlighter1_9_11_Closed_Image.style.display='inline'; Codehighlighter1_9_11_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_9_11_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_9_11_Closed_Text.style.display='none'; Codehighlighter1_9_11_Open_Image.style.display='inline'; Codehighlighter1_9_11_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">k1</span><span style="color: #000000">=</span><span style="color: #000000">hello,</span><span id="Codehighlighter1_9_11_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_9_11_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />k2</span><span style="color: #000000">=</span><span style="color: #000000">good&nbsp;bye</span></div>
中文文件MessagesBundle_zh_CN.properties<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: #008080">1</span><img id="Codehighlighter1_18_20_Open_Image" onclick="this.style.display='none'; Codehighlighter1_18_20_Open_Text.style.display='none'; Codehighlighter1_18_20_Closed_Image.style.display='inline'; Codehighlighter1_18_20_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_18_20_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_18_20_Closed_Text.style.display='none'; Codehighlighter1_18_20_Open_Image.style.display='inline'; Codehighlighter1_18_20_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">k1</span><span style="color: #000000">=</span><span style="color: #000000">\u4f60\u597d,</span><span id="Codehighlighter1_18_20_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_18_20_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />k2</span><span style="color: #000000">=</span><span style="color: #000000">\u518d\u89c1<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/wx886104/aggbug/246314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-12-15 09:44 <a href="http://www.blogjava.net/wx886104/archive/2008/12/15/246314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>11.14看代码记录</title><link>http://www.blogjava.net/wx886104/archive/2008/11/14/240491.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Fri, 14 Nov 2008 03:58:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/14/240491.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/240491.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/14/240491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/240491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/240491.html</trackback:ping><description><![CDATA[<p>今天看的代码是数据池类，对其中的Hashtable，Vector和Properties三个类返回Enumeration类型的方法注意了一下。<br />
Hashtable返回枚举类型的方法有<code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Hashtable.html#elements()">elements</a></strong>()返回此哈希表中的值的枚举</code>和<code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Hashtable.html#keys()">keys</a></strong>()返回此哈希表中的键的枚举。<br />
</code>Vector有<code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Vector.html#elements()">elements</a></strong>()</code>返回此向量的组件的枚举<br />
<code><strong>Properties有<a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Properties.html#propertyNames()">propertyNames</a></strong>()返回属性列表中所有键的枚举，如果在主属性列表中未找到同名的键，则包括默认属性列表中不同的键。<br />
</code><code><strong>Properties</strong></code>的<code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Properties.html#getProperty(java.lang.String)">getProperty</a></strong></code>方法有两个；<br />
<code><strong>一个是<a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Properties.html#getProperty(java.lang.String)">getProperty</a></strong>(<a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/String.html">String</a>&nbsp;key)用指定的键在此属性列表中搜索属性</code><br />
一个是<code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/util/Properties.html#getProperty(java.lang.String, java.lang.String)">getProperty</a></strong>(<a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/String.html">String</a>&nbsp;key, <a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/String.html">String</a>&nbsp;defaultValue)用指定的键在属性列表中搜索属性。如果在属性列表中未找到该键，则接着递归检查默认属性列表及其默认值。如果未找到属性，则此方法返回默认值变量。<br />
<br />
<strong><font style="background-color: #0a246a" color="#ffffff">ThreadGroup&nbsp;&nbsp;&nbsp;&nbsp;线程组表示一个线程的集合。此外，线程组也可以包含其他线程组。线程组构成一棵树，在树中，除了初始线程组外，每个线程组都有一个父线程组。 <br />
</p>
<p>
<table cellspacing="0" cellpadding="3" width="100%" summary="" border="1">
    <tbody>
        <tr class="TableHeadingColor" bgcolor="#ccccff">
            <th align="left" colspan="2"><font size="+2"><strong>构造方法摘要</strong></font></th>
        </tr>
        <tr class="TableRowColor" bgcolor="white">
            <td><code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/ThreadGroup.html#ThreadGroup(java.lang.String)"><font style="background-color: #0a246a" color="#ffffff">ThreadGroup</font></a></strong>(<a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/String.html">String</a>&nbsp;name)</code> <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;构造一个新线程组。</td>
        </tr>
        <tr class="TableRowColor" bgcolor="white">
            <td><code><strong><a href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/ThreadGroup.html#ThreadGroup(java.lang.ThreadGroup, java.lang.String)"><font style="background-color: #0a246a" color="#ffffff">ThreadGroup</font></a></strong>(<a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/ThreadGroup.html"><font style="background-color: #0a246a" color="#ffffff">ThreadGroup</font></a>&nbsp;parent, <a title="java.lang 中的类" href="mk:@MSITStore:H:\帮助资料\JDK15chs\JDK1.5中文帮助(CHM)\JAVA_API_CN.CHM::/api/java/lang/String.html">String</a>&nbsp;name)</code> <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建一个新线程组。</td>
        </tr>
    </tbody>
</table>
</p>
<p></font></strong><br />
</code>&nbsp;</p>
<img src ="http://www.blogjava.net/wx886104/aggbug/240491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-14 11:58 <a href="http://www.blogjava.net/wx886104/archive/2008/11/14/240491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码收集：md5加密 两个</title><link>http://www.blogjava.net/wx886104/archive/2008/11/11/239836.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Tue, 11 Nov 2008 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/11/239836.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/239836.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/11/239836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/239836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/239836.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 第一个&nbsp;&nbsp;1/**&nbsp;*//************************************************&nbsp;&nbsp;2MD5&nbsp;算法的Java&nbsp;Bean&nbsp;&nbsp;3@author:Topcat&nbsp;Tuppin&nbsp;&nbsp;4Last&nbsp;Modified:10,Mar...&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2008/11/11/239836.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/239836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-11 11:38 <a href="http://www.blogjava.net/wx886104/archive/2008/11/11/239836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码收集：一个文件操作类</title><link>http://www.blogjava.net/wx886104/archive/2008/11/11/239828.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Tue, 11 Nov 2008 03:24:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/11/239828.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/239828.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/11/239828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/239828.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/239828.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;1import&nbsp;java.io.*;&nbsp;&nbsp;2import&nbsp;java.util.*;&nbsp;&nbsp;3/**&nbsp;*//**&nbsp;&nbsp;4&nbsp;&nbsp;*&nbsp;&nbsp;5&nbsp;&nbsp;*&nbsp;&lt;p&gt;Title:&nbsp;LOG&nbsp;日志记录&...&nbsp;&nbsp;<a href='http://www.blogjava.net/wx886104/archive/2008/11/11/239828.html'>阅读全文</a><img src ="http://www.blogjava.net/wx886104/aggbug/239828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-11 11:24 <a href="http://www.blogjava.net/wx886104/archive/2008/11/11/239828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码收集：一个时间格式处理类</title><link>http://www.blogjava.net/wx886104/archive/2008/11/11/239819.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Tue, 11 Nov 2008 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/11/239819.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/239819.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/11/239819.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/239819.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/239819.html</trackback:ping><description><![CDATA[<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: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.</span><span style="color: #000000">*</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_20_419_Open_Image" onclick="this.style.display='none'; Codehighlighter1_20_419_Open_Text.style.display='none'; Codehighlighter1_20_419_Closed_Image.style.display='inline'; Codehighlighter1_20_419_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_20_419_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_20_419_Closed_Text.style.display='none'; Codehighlighter1_20_419_Open_Image.style.display='inline'; Codehighlighter1_20_419_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_20_419_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_20_419_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&lt;p&gt;Title:&nbsp;Time&nbsp;&nbsp;&lt;/p&gt;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&lt;p&gt;Description:&nbsp;&lt;/p&gt;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此类主要用来取得本地系统的系统时间并用下面5种格式显示<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.　YYMMDDHH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8位<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.　YYMMDDHHmm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10位<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.　YYMMDDHHmmss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12位<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.　YYYYMMDDHHmmss&nbsp;&nbsp;&nbsp;14位<br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.　YYMMDDHHmmssxxx&nbsp;&nbsp;15位&nbsp;(最后的xxx&nbsp;是毫秒)<br />
</span><span style="color: #008080">11</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&lt;p&gt;Copyright:&nbsp;Copyright&nbsp;(c)&nbsp;2003&lt;/p&gt;<br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&lt;p&gt;Company:&nbsp;hoten&nbsp;&lt;/p&gt;<br />
</span><span style="color: #008080">13</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;lqf<br />
</span><span style="color: #008080">14</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@version</span><span style="color: #008000">&nbsp;1.0<br />
</span><span style="color: #008080">15</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img id="Codehighlighter1_440_2425_Open_Image" onclick="this.style.display='none'; Codehighlighter1_440_2425_Open_Text.style.display='none'; Codehighlighter1_440_2425_Closed_Image.style.display='inline'; Codehighlighter1_440_2425_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_440_2425_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_440_2425_Closed_Text.style.display='none'; Codehighlighter1_440_2425_Open_Image.style.display='inline'; Codehighlighter1_440_2425_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CTime&nbsp;</span><span id="Codehighlighter1_440_2425_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_440_2425_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;YYMMDDhhmmssxxx</span><span style="color: #000000">=</span><span style="color: #000000">15</span><span style="color: #000000">;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;YYYYMMDDhhmmss</span><span style="color: #000000">=</span><span style="color: #000000">14</span><span style="color: #000000">;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;YYMMDDhhmmss</span><span style="color: #000000">=</span><span style="color: #000000">12</span><span style="color: #000000">;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;YYMMDDhhmm</span><span style="color: #000000">=</span><span style="color: #000000">10</span><span style="color: #000000">;<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;YYMMDDhh</span><span style="color: #000000">=</span><span style="color: #000000">8</span><span style="color: #000000">;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img id="Codehighlighter1_665_754_Open_Image" onclick="this.style.display='none'; Codehighlighter1_665_754_Open_Text.style.display='none'; Codehighlighter1_665_754_Closed_Image.style.display='inline'; Codehighlighter1_665_754_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_665_754_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_665_754_Closed_Text.style.display='none'; Codehighlighter1_665_754_Open_Image.style.display='inline'; Codehighlighter1_665_754_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_665_754_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_665_754_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">23</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;取得本地系统的时间，时间格式由参数决定<br />
</span><span style="color: #008080">24</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;format&nbsp;时间格式由常量决定<br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">　String&nbsp;具有format格式的字符串<br />
</span><span style="color: #008080">26</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_814_1963_Open_Image" onclick="this.style.display='none'; Codehighlighter1_814_1963_Open_Text.style.display='none'; Codehighlighter1_814_1963_Closed_Image.style.display='inline'; Codehighlighter1_814_1963_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_814_1963_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_814_1963_Closed_Text.style.display='none'; Codehighlighter1_814_1963_Open_Image.style.display='inline'; Codehighlighter1_814_1963_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;&nbsp;getTime(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;format)</span><span id="Codehighlighter1_814_1963_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_814_1963_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;cTime</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer(</span><span style="color: #000000">10</span><span style="color: #000000">);<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calendar&nbsp;time</span><span style="color: #000000">=</span><span style="color: #000000">Calendar.getInstance();<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;miltime</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.MILLISECOND);<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.SECOND);<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;minute</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.MINUTE);<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;hour</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.HOUR_OF_DAY);<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;day&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.DAY_OF_MONTH);<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;month</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.MONTH)</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;year&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">time.get(Calendar.YEAR);<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img id="Codehighlighter1_1265_1351_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1265_1351_Open_Text.style.display='none'; Codehighlighter1_1265_1351_Closed_Image.style.display='inline'; Codehighlighter1_1265_1351_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1265_1351_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1265_1351_Closed_Text.style.display='none'; Codehighlighter1_1265_1351_Open_Image.style.display='inline'; Codehighlighter1_1265_1351_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">!=</span><span style="color: #000000">14</span><span style="color: #000000">)</span><span id="Codehighlighter1_1265_1351_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1265_1351_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(year</span><span style="color: #000000">&gt;=</span><span style="color: #000000">2000</span><span style="color: #000000">)&nbsp;year</span><span style="color: #000000">=</span><span style="color: #000000">year</span><span style="color: #000000">-</span><span style="color: #000000">2000</span><span style="color: #000000">;<br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;year</span><span style="color: #000000">=</span><span style="color: #000000">year</span><span style="color: #000000">-</span><span style="color: #000000">1900</span><span style="color: #000000">;<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img id="Codehighlighter1_1374_1488_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1374_1488_Open_Text.style.display='none'; Codehighlighter1_1374_1488_Closed_Image.style.display='inline'; Codehighlighter1_1374_1488_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1374_1488_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1374_1488_Closed_Text.style.display='none'; Codehighlighter1_1374_1488_Open_Image.style.display='inline'; Codehighlighter1_1374_1488_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">2</span><span style="color: #000000">)</span><span id="Codehighlighter1_1374_1488_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1374_1488_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">==</span><span style="color: #000000">14</span><span style="color: #000000">)&nbsp;cTime.append(year);<br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(year,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">4</span><span style="color: #000000">)<br />
</span><span style="color: #008080">46</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(month,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">47</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">6</span><span style="color: #000000">)<br />
</span><span style="color: #008080">48</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(day,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">49</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">8</span><span style="color: #000000">)<br />
</span><span style="color: #008080">50</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(hour,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">51</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">10</span><span style="color: #000000">)<br />
</span><span style="color: #008080">52</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(minute,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">53</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">12</span><span style="color: #000000">)<br />
</span><span style="color: #008080">54</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(second,</span><span style="color: #000000">2</span><span style="color: #000000">));<br />
</span><span style="color: #008080">55</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&gt;=</span><span style="color: #000000">15</span><span style="color: #000000">)<br />
</span><span style="color: #008080">56</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cTime.append(getFormatTime(miltime,</span><span style="color: #000000">3</span><span style="color: #000000">));<br />
</span><span style="color: #008080">57</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;cTime.toString();<br />
</span><span style="color: #008080">58</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">59</span><span style="color: #000000"><img id="Codehighlighter1_1965_2055_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1965_2055_Open_Text.style.display='none'; Codehighlighter1_1965_2055_Closed_Image.style.display='inline'; Codehighlighter1_1965_2055_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1965_2055_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1965_2055_Closed_Text.style.display='none'; Codehighlighter1_1965_2055_Open_Image.style.display='inline'; Codehighlighter1_1965_2055_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_1965_2055_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_1965_2055_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">60</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*　产生任意位的字符串<br />
</span><span style="color: #008080">61</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;time&nbsp;要转换格式的时间<br />
</span><span style="color: #008080">62</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;format　转换的格式<br />
</span><span style="color: #008080">63</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">　String&nbsp;转换的时间<br />
</span><span style="color: #008080">64</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">65</span><span style="color: #000000"><img id="Codehighlighter1_2130_2423_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2130_2423_Open_Text.style.display='none'; Codehighlighter1_2130_2423_Closed_Image.style.display='inline'; Codehighlighter1_2130_2423_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_2130_2423_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2130_2423_Closed_Text.style.display='none'; Codehighlighter1_2130_2423_Open_Image.style.display='inline'; Codehighlighter1_2130_2423_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;getFormatTime(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;time,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;format)</span><span id="Codehighlighter1_2130_2423_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2130_2423_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">66</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;numm</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer();<br />
</span><span style="color: #008080">67</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;length</span><span style="color: #000000">=</span><span style="color: #000000">String.valueOf(time).length();<br />
</span><span style="color: #008080">68</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">69</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(format</span><span style="color: #000000">&lt;</span><span style="color: #000000">length)&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
</span><span style="color: #008080">70</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">71</span><span style="color: #000000"><img id="Codehighlighter1_2311_2351_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2311_2351_Open_Text.style.display='none'; Codehighlighter1_2311_2351_Closed_Image.style.display='inline'; Codehighlighter1_2311_2351_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_2311_2351_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2311_2351_Closed_Text.style.display='none'; Codehighlighter1_2311_2351_Open_Image.style.display='inline'; Codehighlighter1_2311_2351_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</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">&nbsp;;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">format</span><span style="color: #000000">-</span><span style="color: #000000">length&nbsp;;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span id="Codehighlighter1_2311_2351_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2311_2351_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">72</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numm.append(</span><span style="color: #000000">"</span><span style="color: #000000">0</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">73</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">74</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numm.append(time);<br />
</span><span style="color: #008080">75</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;numm.toString().trim();<br />
</span><span style="color: #008080">76</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">77</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<img src ="http://www.blogjava.net/wx886104/aggbug/239819.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-11 11:04 <a href="http://www.blogjava.net/wx886104/archive/2008/11/11/239819.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java的io操作</title><link>http://www.blogjava.net/wx886104/archive/2008/11/06/238982.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Thu, 06 Nov 2008 03:24:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/06/238982.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/238982.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/06/238982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/238982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/238982.html</trackback:ping><description><![CDATA[<p>File类有两个构造方法，File(父目录，文件名)，关联指定的目录下指定名称的文件，File(文件名/目录名)，关联某个文件名或者目录，这里的/表示的意思是&#8220;或者&#8221;。<br />
&nbsp;&nbsp;&nbsp; 比较好的方法是先用一个File对象关联一个目录名，然后创建这个目录，（mkdir()）,再用构造方法构造一个文件。以下的代码是在&#8220;我的文档&#8221;里创建一个名为&#8220;1.txt&#8221;的文件。<br />
&nbsp; File dir=new File("C:"+File.separator+"Documents and Settings"+File.separator+"Yxy"+File.separator+"My Documents");&nbsp; //此处注意转义字符<br />
&nbsp; dir.mkdir();&nbsp; //创建目录<br />
&nbsp; File file1=new File(dir,"1.txt");<br />
&nbsp; file1.createNewFile();&nbsp; //创建一个新文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String[] str1=dir.list();&nbsp; //下文说到的list()<br />
&nbsp;&nbsp;&nbsp; //不知道为什么这里的空格硬是只能这么长，代码是我从我自己的代码里拷过来的，汗&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; //一个先<br />
&nbsp;&nbsp;&nbsp; 各位，其实这里可以用转义字符&#8220;\\&#8221;来代替File.separator，但是这不是一个好的习惯。为了实现Java的一次编译，四处运行的性感特点，我们需要一个通用的文件分隔符，因为各种操作系统下存在差异，比如linux的文件分隔符是正斜杠"/"。而File的特性separator正是获取当前操作系统下的文件分隔符。另，千万不要将让"\"单独存在，在代码中这是一个转义字符的标识，它会将接下来的一个字符理解为转义字符。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 除了这种方法可以创建新的文件，还可以调用File类下的一个静态函数<br />
&nbsp;File createTempFile(String prefix,String suffix,File directory),这是一个完整的版本，在指定的目录下创建一个以prefix为前缀名，suffix为后缀名的临时文件，通过deleteOnExit()来删除。但是还有一个精简的版本，<br />
File createTempFile(String prefix,String suffix),没有指定目录，将在当前操作系统默认的临时文件夹里创建以prefix为前缀名，suffix为后缀名的临时文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 以上是如何创建文件，接下来讲的是如何查阅目录下的文件和通过文件过滤器查找文件。<br />
&nbsp;&nbsp;&nbsp; 看到前面的代码里写到的list()方法了吗，返回一个String类型的数组，获取当前目录下的所有文件名，包括目录名（即文件夹）。但是，这样是不够的，无法找到我们所需要的文件，我们需要的是按我们的要求找到某个房间。Java.io包类提供类文件过滤器FileNameFilter，它是一个接口，内有方法boolean accept(File dir, String name),这是一个需要重写的方法，重写了这个方法之后，list(FileNameFileter f)方法可以列出符合我们要求的方法。<br />
本文来源【学网】网站链接是http://www.xue5.com</p>
<p>&nbsp;Java中的separator，pathSeparator等常量- -</p>
<p><strong>File.separatorChar</strong> 返回一个字符，表示当前系统默认的文件名分隔符，<strong><font color="#cc0000">在Windows中为"\",unix中为"/"</font></strong>。<br />
<strong>File.separator</strong> 与前者相同，但将分隔符作为字符串类型返回。<br />
<strong>pathSeparatorChar</strong> 返回一个字符，表示当前系统默认的路径名分隔符，<strong><font color="#cc0000">在Windows中为";",unix中为":"</font></strong>。<br />
<strong>File.pathSeparator</strong> 与前者相同，但将分隔符作为字符串类型返回。</p>
<p>正文为JDKAPI帮助文档相关内容：</p>
<p><br />
</p>
<p>separatorChar<br />
public static final char separatorCharThe system-dependent default name-separator character. This field is initialized to contain the first character of the value of the system property file.separator. On UNIX systems the value of this field is '/'; on Microsoft Windows systems it is '\'. </p>
<p>See Also:<br />
System.getProperty(java.lang.String)</p>
<p>--------------------------------------------------------------------------------</p>
<p>separator<br />
public static final String separatorThe system-dependent default name-separator character, represented as a string for convenience. This string contains a single character, namely separatorChar. </p>
<p><br />
--------------------------------------------------------------------------------</p>
<p>pathSeparatorChar<br />
public static final char pathSeparatorCharThe system-dependent path-separator character. This field is initialized to contain the first character of the value of the system property path.separator. This character is used to separate filenames in a sequence of files given as a path list. On UNIX systems, this character is ':'; on Microsoft Windows systems it is ';'. </p>
<p>See Also:<br />
System.getProperty(java.lang.String)</p>
<p>--------------------------------------------------------------------------------</p>
<p>pathSeparator<br />
public static final String pathSeparatorThe system-dependent path-separator character, represented as a string for convenience. This string contains a single character, namely pathSeparatorChar.<br />
</p>
<img src ="http://www.blogjava.net/wx886104/aggbug/238982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-06 11:24 <a href="http://www.blogjava.net/wx886104/archive/2008/11/06/238982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.OutOfMemoryError: Java heap space 解决方法</title><link>http://www.blogjava.net/wx886104/archive/2008/11/03/238346.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Mon, 03 Nov 2008 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/03/238346.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/238346.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/03/238346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/238346.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/238346.html</trackback:ping><description><![CDATA[<p>这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.</p>
<p><strong><em>1.可以在windows 更改系统环境变量</em></strong></p>
<p>加上JAVA_OPTS=-Xms64m -Xmx512m</p>
<p><em><strong>2,如果用的tomcat,在windows下,可以在</strong></em></p>
<p>C:\tomcat5.5.9\bin\catalina.bat 中加上:</p>
<p>set JAVA_OPTS=-Xms64m -Xmx256m</p>
<p>位置在: rem Guess CATALINA_HOME if not defined 这行的下面加合适.</p>
<p><em><strong>3.如果是linux系统<br />
</strong></em><br />
Linux 在{tomcat_home}/bin/catalina.sh的前面，加 <br />
<br />
set JAVA_OPTS='-Xms64 -Xmx512'</p>
<br />
<p>使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space 在JVM中如果98％的时间是用于GC且可用的 Heap size 不足2％的时候将抛出此异常信息。 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值，其初始空间(即-Xms)是物理内存的1/64，最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。例如：java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar如果Heap Size设置偏小，除了这些异常信息外，还会发现程序的响应速度变慢了。GC占用了更多的时间，而应用分配到的执行时间较少。Heap Size 最大不要超过可用物理内存的80％，一般的要将-Xms和-Xmx选项设置为相同，而-Xmn为1/4的-Xmx值。Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示&#8220;Error occurred during<br />
</p>
<img src ="http://www.blogjava.net/wx886104/aggbug/238346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-03 15:18 <a href="http://www.blogjava.net/wx886104/archive/2008/11/03/238346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle的to_date()方法的小妙用（原创）</title><link>http://www.blogjava.net/wx886104/archive/2008/11/01/238048.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Sat, 01 Nov 2008 06:11:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/11/01/238048.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/238048.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/11/01/238048.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/238048.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/238048.html</trackback:ping><description><![CDATA[通常在表中设置的日期列，用于存放与信息相关的日期。<br />
在某些时候需要通过日期中的年，月，日等来统计数据，通常我们会将日期取出，再在程序中获取当前日期。进行比较，这样会加大开销。<br />
现在可以通过to_date来截取日期中的年，月，日的来获取数据。<br />
如： to_char(to_date(b_time,'yyyy-mm-dd'),'yyyy')=to_char(to_date(?,'yyyy-mm-dd hh24:mi:ss'),'yyyy')<br />
这样获取的就是年的字符串，就可得到指定年的数据。<br />
月：to_char(to_date(b_time,'yyyy-mm-dd'),'mm')=to_char(to_date(?,'yyyy-mm-dd hh24:mi:ss'),'mm')<br />
日：to_char(to_date(b_time,'yyyy-mm-dd'),'dd')=to_char(to_date(?,'yyyy-mm-dd hh24:mi:ss'),'dd')<br />
<br />
<img src ="http://www.blogjava.net/wx886104/aggbug/238048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-11-01 14:11 <a href="http://www.blogjava.net/wx886104/archive/2008/11/01/238048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转载）java中的集合类总结</title><link>http://www.blogjava.net/wx886104/archive/2008/09/25/231114.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Thu, 25 Sep 2008 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/09/25/231114.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/231114.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/09/25/231114.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/231114.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/231114.html</trackback:ping><description><![CDATA[<div class="tit">java中的集合类总结</div>
<div class="date">2008年09月17日 星期三 13:59</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">
            <p style="text-indent: 2em">在使用Java的时候，我们都会遇到使用集合（Collection）的时候，但是Java API提供了多种集合的实现，我在使用和面试的时候频</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">频遇到这样的&#8220;抉择&#8221; 。 :）（主要还是面试的时候）</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">久而久之，也就有了一点点的心得体会，写出来以供大家讨论 。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">总的说来，Java API中所用的集合类，都是实现了Collection接口，他的一个类继承结构如下：</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Collection&lt;--List&lt;--Vector</p>
            <p style="text-indent: 2em">Collection&lt;--List&lt;--ArrayList</p>
            <p style="text-indent: 2em">Collection&lt;--List&lt;--LinkedList</p>
            <p style="text-indent: 2em">Collection&lt;--Set&lt;--HashSet</p>
            <p style="text-indent: 2em">Collection&lt;--Set&lt;--HashSet&lt;--LinkedHashSet</p>
            <p style="text-indent: 2em">Collection&lt;--Set&lt;--SortedSet&lt;--TreeSet</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Vector : 基于Array的List，其实就是封装了Array所不具备的一些功能方便我们使用，它不可能走入Array的限制。性能也就不可能</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">超越Array。所以，在可能的情况下，我们要多运用Array。另外很重要的一点就是Vector&#8220;sychronized&#8221;的，这个也是Vector和</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">ArrayList的唯一的区别。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">ArrayList：同Vector一样是一个基于Array上的链表，但是不同的是ArrayList不是同步的。所以在性能上要比Vector优越一些，但</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">是当运行到多线程环境中时，可需要自己在管理线程的同步问题。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">LinkedList：LinkedList不同于前面两种List，它不是基于Array的，所以不受Array性能的限制。它每一个节点（Node）都包含两方</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">面的内容：1.节点本身的数据（data）；2.下一个节点的信息（nextNode）。所以当对LinkedList做添加，删除动作的时候就不用像</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">基于Array的List一样，必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">List总结：</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">1. 所有的List中只能容纳单个不同类型的对象组成的表，而不是Key－Value键值对。例如：[ tom,1,c ]；</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">2. 所有的List中可以有相同的元素，例如Vector中可以有 [ tom,koo,too,koo ]；</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">3. 所有的List中可以有null元素，例如[ tom,null,1 ]；</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">4. 基于Array的List（Vector，ArrayList）适合查询，而LinkedList（链表）适合添加，删除操作。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">HashSet：虽然Set同List都实现了Collection接口，但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">在HashMap的基础上来实现的，这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。看看</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">HashSet的add（Object obj）方法的实现就可以一目了然了。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">public boolean add(Object obj)</p>
            <p style="text-indent: 2em">{</p>
            <p style="text-indent: 2em">return map.put(obj, PRESENT) == null;</p>
            <p style="text-indent: 2em">}</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">这个也是为什么在Set中不能像在List中一样有重复的项的根本原因，因为HashMap的key是不能有重复的。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">LinkedHashSet：HashSet的一个子类，一个链表。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">TreeSet：SortedSet的子类，它不同于HashSet的根本就是TreeSet是有序的。它是通过SortedMap来实现的。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Set总结：</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">1. Set实现的基础是Map（HashMap）；</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">2. Set中的元素是不能重复的，如果使用add(Object obj)方法添加已经存在的对象，则会覆盖前面的对象</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">为什么要使用集合类</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">当你事先不知道要存放数据的个数，或者你需要一种比数组下标存取机制更灵活的方法时，你就需要用到集合类。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">理解集合类</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">集合类存放于java.util包中。</p>
            <p style="text-indent: 2em">集合类存放的都是对象的引用，而非对象本身，出于表达上的便利，我们称集合中的对象就是指集合中对象的引用（reference)。</p>
            <p style="text-indent: 2em">集合类型主要有3种：set(集）、list(列表）和map(映射)。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(1)集</p>
            <p style="text-indent: 2em">集（set）是最简单的一种集合，它的对象不按特定方式排序，只是简单的把对象加入集合中，就像往口袋里放东西。</p>
            <p style="text-indent: 2em">对集中成员的访问和操作是通过集中对象的引用进行的，所以集中不能有重复对象。</p>
            <p style="text-indent: 2em">集也有多种变体，可以实现排序等功能，如TreeSet，它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">列中。它实现的是SortedSet接口，也就是加入了对象比较的方法。通过对集中的对象迭代，我们可以得到一个升序的对象集合。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(2)列表</p>
            <p style="text-indent: 2em">列表的主要特征是其对象以线性方式存储，没有特定顺序，只有一个开头和一个结尾，当然，它与根本没有顺序的集是不同的。</p>
            <p style="text-indent: 2em">列表在数据结构中分别表现为：数组和向量、链表、堆栈、队列。</p>
            <p style="text-indent: 2em">关于实现列表的集合类，是我们日常工作中经常用到的，将在后边的笔记详细介绍。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(3)映射</p>
            <p style="text-indent: 2em">映射与集或列表有明显区别，映射中每个项都是成对的。映射中存储的每个对象都有一个相关的关键字（Key）对象，关键字决定了</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">对象在映射中的存储位置，检索对象时必须提供相应的关键字，就像在字典中查单词一样。关键字应该是唯一的。</p>
            <p style="text-indent: 2em">关键字本身并不能决定对象的存储位置，它需要对过一种散列(hashing)技术来处理，产生一个被称作散列码(hash code)的整数值，</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">散列码通常用作一个偏置量，该偏置量是相对于分配给映射的内存区域起始位置的，由此确定关键字/对象对的存储位置。理想情况</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">下，散列处理应该产生给定范围内均匀分布的值，而且每个关键字应得到不同的散列码。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">集合类简介</p>
            <p style="text-indent: 2em">java.util中共有13个类可用于管理集合对象，它们支持集、列表或映射等集合，以下是这些类的简单介绍</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">集：</p>
            <p style="text-indent: 2em">HashSet： 使用HashMap的一个集的实现。虽然集定义成无序，但必须存在某种方法能相当高效地找到一个对象。使用一个HashMap对</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">象实现集的存储和检索操作是在固定时间内实现的.</p>
            <p style="text-indent: 2em">TreeSet： 在集中以升序对对象排序的集的实现。这意味着从一个TreeSet对象获得第一个迭代器将按升序提供对象。TreeSet类使用</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">了一个TreeMap.</p>
            <p style="text-indent: 2em">列表：</p>
            <p style="text-indent: 2em">Vector： 实现一个类似数组一样的表，自动增加容量来容纳你所需的元素。使用下标存储和检索对象就象在一个标准的数组中一样</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">。你也可以用一个迭代器从一个Vector中检索对象。Vector是唯一的同步容器类??当两个或多个线程同时访问时也是性能良好的。</p>
            <p style="text-indent: 2em">Stsck: 这个类从Vector派生而来，并且增加了方法实现栈??一种后进先出的存储结构。</p>
            <p style="text-indent: 2em">LinkedList: 实现一个链表。由这个类定义的链表也可以像栈或队列一样被使用。</p>
            <p style="text-indent: 2em">ArrayList: 实现一个数组，它的规模可变并且能像链表一样被访问。它提供的功能类似Vector类但不同步。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">映射：</p>
            <p style="text-indent: 2em">HashTable： 实现一个映象，所有的键必须非空。为了能高效的工作，定义键的类必须实现hashcode()方法和equal()方法。这个类</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">是前面java实现的一个继承，并且通常能在实现映象的其他类中更好的使用。</p>
            <p style="text-indent: 2em">HashMap： 实现一个映象，允许存储空对象，而且允许键是空（由于键必须是唯一的，当然只能有一个）。</p>
            <p style="text-indent: 2em">WeakHashMap： 实现这样一个映象：通常如果一个键对一个对象而言不再被引用，键/对象对将被舍弃。这与HashMap形成对照，映象</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">中的键维持键/对象对的生命周期，尽管使用映象的程序不再有对键的引用，并且因此不能检索对象。</p>
            <p style="text-indent: 2em">TreeMap： 实现这样一个映象，对象是按键升序排列的。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Set和List都是由公共接口Collection扩展而来，所以它们都可以使用一个类型为Collection的变量来引用。这就意味着任何列表或</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">集构成的集合都可以用这种方式引用，只有映射类除外（但也不是完全排除在外，因为可以从映射获得一个列表。）所以说，把一个</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">列表或集传递给方法的标准途径是使用Collection类型的参数。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Vector 还是ArrayList，哪一个更好，为什么？</p>
            <p style="text-indent: 2em">要回答这个问题不能一概而论，有时候使用Vector比较好；有时是ArrayList，有时候这两个都不是最好的选择。你别指望能够获得</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">一个简单肯定答案，因为这要看你用它们干什么。下面有4个要考虑的因素：</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(1)API</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(2)同步处理</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(3)数据增长性</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">(4)使用模式</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">下面针对这4个方面进行一一探讨</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">API</p>
            <p style="text-indent: 2em">在由Ken Arnold等编著的《Java Programming Language》(Addison-Wesley, June 2000)一书中有这样的描述，Vector类似于</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">ArrayList.。所有从API的角度来看这两个类非常相似。但他们之间也还是有一些主要的区别的。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">同步性</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">Vector是同步的。这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步的，因此ArrayList中的对象并不</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">是线程安全的。因为同步的要求会影响执行的效率，所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择，这样</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">可以避免由于同步带来的不必要的性能开销。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">数据增长</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">从内部实现机制来讲ArrayList和Vector都是使用数组(Array)来控制集合中的对象。当你向这两种类型中增加元素的时候，如果元素</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度，Vector缺省情况下自动增长原来一倍的数组长度，ArrayList是</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">有一些优势，因为你可以通过设置集合的初始化大小来避免不必要的资源开销。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">使用模式</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">在ArrayList和Vector中，从一个指定的位置（通过索引）查找数据或是在集合的末尾增加、移除一个元素所花费的时间是一样的，</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">这个时间我们用O(1)表示。但是，如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长：O(n-i)，其中n代表集合中</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">元素的个数，i代表元素增加或移除元素的索引位置。为什么会这样呢？以为在进行上述操作的时候集合中第i和第i个元素之后的所</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">有元素都要执行位移的操作。这一切意味着什么呢？</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">这意味着，你只是查找特定位置的元素或只在集合的末端增加、移除元素，那么使用Vector或ArrayList都可以。如果是其他操作，</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">你最好选择其他的集合操作类。比如，LinkList集合类在增加或移除集合中任何位置的元素所花费的时间都是一样的—O(1)，但它在</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">索引一个元素的使用缺比较慢－O(i),其中i是索引的位置.使用ArrayList也很容易，因为你可以简单的使用索引来代替创建iterator</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">对象的操作。LinkList也会为每个插入的元素创建对象，所有你要明白它也会带来额外的开销。</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">最后，在《Practical Java》一书中Peter Haggar建议使用一个简单的数组（Array）来代替Vector或ArrayList。尤其是对于执行效</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">率要求高的程序更应如此。因为使用数组(Array)避免了同步、额外的方法调用和不必要的重新分配空间的操作。(T007)</p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em"></p>
            <p style="text-indent: 2em">
            <table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
                <tbody>
                    <tr>
                        <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
                        <pre><ccid_code></ccid_code>import java.util.*;
                        public class Testset {
                        public static void main(String args[]){
                        Set set = new HashSet();
                        set.add("aaa");
                        set.add("bbb");
                        set.add("aaa");
                        set.add("bbb");
                        set.add("aaa");
                        set.add("bbb");
                        set.add("aaa");
                        set.add("bbb");
                        set.add("aaa");
                        set.add("bbb");
                        Iterator ite=set.iterator();
                        set.size();
                        while(ite.hasNext())
                        System.out.println("------"+ite.next());
                        }
                        }</pre>
                        </td>
                    </tr>
                </tbody>
            </table>
            </p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
转自 http://hi.baidu.com/%C1%F5%CA%E9%B3%AC%B9%A4%B3%CC%CA%A6/blog/item/fa6867fe38a018375d60084e.html
<img src ="http://www.blogjava.net/wx886104/aggbug/231114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-09-25 15:15 <a href="http://www.blogjava.net/wx886104/archive/2008/09/25/231114.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转载)struts上传下载</title><link>http://www.blogjava.net/wx886104/archive/2008/09/25/231112.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Thu, 25 Sep 2008 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/09/25/231112.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/231112.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/09/25/231112.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/231112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/231112.html</trackback:ping><description><![CDATA[<p><span style="color: #ff0000">最近要做上传下载，所以又把它翻出了，熟悉了一把，做了一下字节转换的调整及上传类型的限制，当然还有上传路径的限制。不过一直在考虑的问题是怎样找到减少服务器压力的具体方法，本列子贴出来是希望能给某些新手一些帮助，同时也希望各路大侠批评指点小弟的许多不足。</span></p>
<p>&nbsp;</p>
<p><span style="color: #ff0000">首先建立一个FileAction</span></p>
<p>package com.action;<br />
import org.apache.struts.action.*;<br />
import javax.servlet.http.*;<br />
import com.actionForm.FileActionForm;<br />
import org.apache.struts.actions.DispatchAction;<br />
import java.util.Date;<br />
import java.text.*;<br />
import org.apache.struts.upload.FormFile;<br />
import java.io.*;<br />
import java.net.URLEncoder;<br />
import com.dao.*;</p>
<p>public class FileAction extends DispatchAction {</p>
<p>&nbsp;&nbsp;&nbsp; private JDBConnection connection =new <span style="background-color: #ffffff">JDBConnection</span>();<br />
<span style="background-color: #ff6600"><span style="color: #ff0000; background-color: #ffffff">//以下方法实现文件的上传</span><br />
</span>&nbsp;&nbsp;&nbsp; public ActionForward upLoadFile(ActionMapping mapping, ActionForm form,<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;&nbsp;&nbsp;&nbsp; HttpServletRequest request,<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;&nbsp;&nbsp;&nbsp; HttpServletResponse response) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;ActionForward forward=null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date date = new Date();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileActionForm fileActionForm = (FileActionForm) form;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//FormFile用于指定存取文件的类型<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FormFile file = fileActionForm.getFile(); <span style="color: #ff0000">//获取当前的文件</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">// 获得系统的绝对路径</span>&nbsp; String dir = servlet.getServletContext().getRealPath("/image");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//我上传的文件没有放在服务器上。而是存在D:D:\\loadfile\\temp\\</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String dir="D:\\loadfile\\temp\\";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0;<br />
&nbsp;&nbsp;String type = file.getFileName();<br />
&nbsp;&nbsp;while(i!=-1){<br />
&nbsp;<span style="color: #ff0000">&nbsp;&nbsp;//找到上传文件的类型的位置，这个地方的是'.'</span><br />
&nbsp;&nbsp;&nbsp;i = type.indexOf(".");<br />
&nbsp;&nbsp;/*&nbsp;System.out.println(i);*/<br />
<span style="color: #ff0000">&nbsp;&nbsp;&nbsp;/*截取上传文件的后缀名,此时得到了文件的类型*/</span><br />
&nbsp;&nbsp;&nbsp;type = type.substring(i+1);<br />
&nbsp;&nbsp;}<br />
&nbsp;<span style="color: #ff0000">&nbsp;// 限制上传类型为jpg,txt,rar;</span><br />
&nbsp;&nbsp;if (!type.equals("jpg") &amp;&amp; !type.equals("txt")&amp;&amp; !type.equals("bmp"))<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<span style="color: #ff0000">{//当上传的类型不为上述类型时，跳转到错误页面。</span><br />
&nbsp;&nbsp;&nbsp; forward=mapping.findForward("error");<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;{&nbsp;&nbsp;<br />
<span style="color: #ff0000">//&nbsp;&nbsp;&nbsp; 将上传时间加入文件名（这个地方的是毫秒数）&nbsp;&nbsp;&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp; String times = String.valueOf(date.getTime());<br />
&nbsp;<span style="color: #ff0000">&nbsp;&nbsp; //组合成 time.type</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String&nbsp; fname = times + "." + type;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//InInputStream是用以从特定的资源读取字节的方法。<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream streamIn = file.getInputStream();&nbsp;&nbsp;&nbsp;<span style="color: #ff0000"> //创建读取用户上传文件的对象<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//得到是字节数，即byte,我们可以直接用file.getFileSize(),也可以在创建读取对象时用streamIn.available();<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // int ok=streamIn.available();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ok=file.getFileSize();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String strFee = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp; //这个地方是处理上传的为M单位计算时，下一个是以kb,在下一个是byte;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ok&gt;=1024*1024)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;float ok1=(((float)ok)/1024f/1024f);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DecimalFormat myformat1 = new DecimalFormat("0.00");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strFee = myformat1.format(ok1)+"M";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(strFee+"M");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(ok&gt;1024 &amp;&amp; ok&lt;=1024*1024)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double&nbsp; ok2=((double)ok)/1024;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DecimalFormat myformat2=new DecimalFormat("0.00");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strFee = myformat2.format(ok2)+"kb";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(strFee+"kb");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(ok&lt;1024)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("aaaaaaaaa");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strFee=String.valueOf(ok)+"byte";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(strFee);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println( streamIn.available()+"文件大小byte");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp;&nbsp;&nbsp; //这个是io包下的上传文件类<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File uploadFile = new File(dir);&nbsp;&nbsp; //指定上传文件的位置<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!uploadFile.exists() || uploadFile == null) {&nbsp; //判断指定路径dir是否存在，不存在则创建路径<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uploadFile.mkdirs();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp;&nbsp;&nbsp; //上传的路径+文件名<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String path = uploadFile.getPath() + "\\" + fname;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//OutputStream用于向某个目标写入字节的抽象类，这个地方写入目标是path，通过输出流FileOutputStream去写<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputStream streamOut = new FileOutputStream(path);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int bytesRead = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[8192];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000"> //将数据读入byte数组的一部分，其中读入字节数的最大值是8192，读入的字节将存储到，buffer[0]到buffer[0+8190-1]的部分中<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //streamIn.read方法返回的是实际读取字节数目.如果读到末尾则返回-1.如果bytesRead返回为0则表示没有读取任何字节。<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">&nbsp;//写入buffer数组的一部分，从buf[0]开始写入并写入bytesRead个字节，这个write方法将发生阻塞直至字节写入完成。<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; streamOut.write(buffer, 0, bytesRead);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">//&nbsp; 关闭输出输入流,销毁File流。<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; streamOut.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; streamIn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file.destroy();&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String paths=path;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(paths);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">String fileName = Chinese.toChinese(fileActionForm.getFileName()); //获取文件的名称</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //String fileSize = String.valueOf(file.getFileSize());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String fileDate = DateFormat.getDateInstance().format(date);<br />
<span style="color: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sql = "insert into tb_file values('" + fileName + "','" +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strFee + "','" + fileDate + "','" + paths + "')";</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection.executeUpdate(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection.closeConnection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forward=mapping.findForward("upLoadFileResult");<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return forward;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; //实现文件的下载<br />
&nbsp;&nbsp;&nbsp; public ActionForward downFile(ActionMapping mapping, ActionForm form,<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;&nbsp; HttpServletRequest request,<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;&nbsp; HttpServletResponse response) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exception {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String path = request.getParameter("path");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(path+"111");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedInputStream bis = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedOutputStream bos = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputStream fos = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream fis = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp;&nbsp; //如果是从服务器上取就用这个获得系统的绝对路径方法。&nbsp; String filepath = servlet.getServletContext().getRealPath("/" + path);</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String&nbsp; filepath=path;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("文件路径"+filepath);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File uploadFile = new File(filepath);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fis = new FileInputStream(uploadFile);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bis = new BufferedInputStream(fis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fos = response.getOutputStream();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bos = new BufferedOutputStream(fos);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp;&nbsp;&nbsp; //这个就就是弹出下载对话框的关键代码</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setHeader("Content-disposition",<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; "attachment;filename=" +<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; URLEncoder.encode(path, "utf-8"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int bytesRead = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000"> //这个地方的同上传的一样。我就不多说了，都是用输入流进行先读，然后用输出流去写，唯一不同的是我用的是缓冲输入输出流<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[8192];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bos.write(buffer, 0, bytesRead);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bos.flush();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fis.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bis.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fos.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bos.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p><span style="color: #ff0000">FileActionForm</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>package com.actionForm;</p>
<p>import org.apache.struts.action.*;<br />
import org.apache.struts.upload.*;</p>
<p>public class FileActionForm extends ActionForm {<br />
&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">private String fileName;//上传文件的名称<br />
&nbsp;&nbsp;&nbsp; private String fileSize;//上传文件的大小<br />
&nbsp;&nbsp;&nbsp; private String filePath;//上传文件到服务器的路径<br />
&nbsp;&nbsp;&nbsp; private String fileDate;//上传文件的日期<br />
&nbsp;&nbsp;&nbsp; private FormFile file;//上传文件</span></p>
<p>&nbsp;&nbsp;&nbsp; public String getFileName() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileName;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public FormFile getFile() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return file;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getFileSize() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileSize;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getFilePath() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return filePath;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getFileDate() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return fileDate;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setFileName(String fileName) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileName = fileName;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setFile(FormFile file) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.file = file;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setFileSize(String fileSize) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileSize = fileSize;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setFilePath(String filePath) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.filePath = filePath;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setFileDate(String fileDate) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.fileDate = fileDate;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p><span style="color: #ff0000">index.jsp&nbsp; 此位置的form是javabeen的对象，这个javabeen中存取的图片的相关信息</span></p>
<p>&lt;table width="264" height="81" border="0" align="center" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="115"&nbsp; rowspan="4" align="center"&gt;&lt;img src="&lt;%=<span style="color: #ff0000">form</span>.getFilePath()%&gt;" width="100" height="100"&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="133" align="center"&gt;图片名称：&lt;%=<span style="color: #ff0000">form</span>.getFileName()%&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;图片大小：&lt;%=<span style="color: #ff0000">form</span>.getFileSize()%&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;上传日期:&lt;%=<span style="color: #ff0000">form</span>.getFileDate()%&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align="center"&gt;&lt;a href="<span style="color: #ff0000">fileAction.do</span>?method=<span style="color: #ff0000">downFile</span>&amp;<span style="color: #ff0000">path</span>=&lt;%=<span style="color: #ff0000">form</span>.getFilePath()%&gt;" &gt;&lt;img src="priture/bottond.jpg"&gt;&lt;/a&gt;</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;</p>
<p>&lt;html:form action="<span style="color: #ff0000">fileAction.do?method=upLoadFile</span>" <span style="color: #ff0000">enctype="multipart/form-data"</span> onsubmit="return Mycheck()"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table height="52" border="0" align="center" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="60" height="26"&gt;图片名称:&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="160"&gt; <span style="color: #ff0000">&lt;html:text property="fileName"/&gt;</span> &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="60"&gt;图片路径:&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="198"&gt;<span style="color: #ff0000"> &lt;html:file property="file"/&gt;</span> &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="right"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td height="26" colspan="4"&gt; <span style="color: #ff0000">&lt;html:submit&gt;上传&lt;/html:submit&gt;</span> &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&lt;/html:form&gt;</p>
<p><span style="color: #ff0000">struts-config.xml</span>&nbsp;&nbsp; </p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "<a href="http://struts.apache.org/dtds/struts-config_1_2.dtd">http://struts.apache.org/dtds/struts-config_1_2.dtd</a>"&gt;</p>
<p>&lt;struts-config&gt;<br />
&nbsp; &lt;form-beans&gt;<br />
&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">&lt;form-bean name="fileActionForm" type="com.actionForm.FileActionForm" /&gt;<br />
</span>&nbsp; &lt;/form-beans&gt;<br />
&nbsp; &lt;action-mappings&gt;<br />
&nbsp;&nbsp;&nbsp; <span style="color: #ff0000">&lt;action name="fileActionForm" parameter="method" path="/fileAction" scope="request" type="com.action.FileAction" validate="true"&gt;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000">&nbsp;&nbsp;&nbsp; &lt;forward name="upLoadFileResult" path="/result.jsp"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="error" path="/fail.jsp"&gt;&lt;/forward&gt;<br />
</span>&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br />
&nbsp; &lt;/action-mappings&gt;<br />
&nbsp; &lt;message-resources parameter="ApplicationResources" /&gt;<br />
&lt;/struts-config&gt;<br />
<br />
<br />
<br />
转自javaEye http://www.javaeye.com/topic/219585</p>
<img src ="http://www.blogjava.net/wx886104/aggbug/231112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-09-25 15:12 <a href="http://www.blogjava.net/wx886104/archive/2008/09/25/231112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从资源服务器上下载文件的实现</title><link>http://www.blogjava.net/wx886104/archive/2008/09/25/231111.html</link><dc:creator>勒紧皮带向前冲</dc:creator><author>勒紧皮带向前冲</author><pubDate>Thu, 25 Sep 2008 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/wx886104/archive/2008/09/25/231111.html</guid><wfw:comment>http://www.blogjava.net/wx886104/comments/231111.html</wfw:comment><comments>http://www.blogjava.net/wx886104/archive/2008/09/25/231111.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wx886104/comments/commentRss/231111.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wx886104/services/trackbacks/231111.html</trackback:ping><description><![CDATA[原因：我这有两个工程，其中一个是项目工程（一下简称xg），一个是资源管理工程（一下简称zg）。他们个在一个服务器。由于将资源文件全部都是通过zg上传到资源服务器上的。所有在数据库中保存的文件路径为<a href="http://ip:port/zg/xxxx.file">http://ip:port/zg/xxxx.file</a>的形式保存的。在xg上通过这样的路径可以正常显示资源文件。但当需要下载文件时，尽管可以直接点击文件路径来下载文件（在firefox上比较方便，在maxton和ie上也可用，但也会打开文件（包括：rar，zip等文件类型）），如括号里说的一样，这样给用户的体验很不好。<br />
解决：在zg上建一个download方法，通过将zg的请求路径放在xg的下载界面上，当点击xg界面上的下载连接时，都是请求zg的download。因此，文件下载解决。<br />
<br />
ps：这个只是新手的我给新手兄弟们的一点分享，请各路高手尽量指点。谢谢！<br />
ps2：to新手兄弟：关于文件上传下载网上很多，我的博客也有，请自行选择。<br />
<img src ="http://www.blogjava.net/wx886104/aggbug/231111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wx886104/" target="_blank">勒紧皮带向前冲</a> 2008-09-25 15:10 <a href="http://www.blogjava.net/wx886104/archive/2008/09/25/231111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>