﻿<?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-BlueSpace-文章分类-java</title><link>http://www.blogjava.net/wufalong/category/25522.html</link><description>思想有多远，我们就能走多远！</description><language>zh-cn</language><lastBuildDate>Sun, 16 Dec 2007 23:01:21 GMT</lastBuildDate><pubDate>Sun, 16 Dec 2007 23:01:21 GMT</pubDate><ttl>60</ttl><item><title>判断是否存在中文</title><link>http://www.blogjava.net/wufalong/articles/168110.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Sun, 16 Dec 2007 13:07:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/168110.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/168110.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/168110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/168110.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/168110.html</trackback:ping><description><![CDATA[
		<p>方法一<br />String temp = "";<br />temp.getBytes().length == temp.length() <br />判断不太准确..当数字等为全角的时候也为双字节<br /><br />方法二<br />正则表达式<br />Pattern   p   =   Pattern.compile("[\\u4E00-\\u9FA5]+");   <br /> Matcher   m   =   p.matcher(temp);     <br />boolean   result   =   m.find();</p>
<img src ="http://www.blogjava.net/wufalong/aggbug/168110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-16 21:07 <a href="http://www.blogjava.net/wufalong/articles/168110.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java正则表达式</title><link>http://www.blogjava.net/wufalong/articles/167928.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Sat, 15 Dec 2007 04:19:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/167928.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/167928.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/167928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/167928.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/167928.html</trackback:ping><description><![CDATA[
		<div>最近要在项目中做HTML解析,本想使用NekoHTML来解析,但看了下NekoHTML有点复杂,故采用了一种便捷,笨的方式来完成项目的要求. 正则表达式此时发挥了她巨大的威力,为我排忧解难,很快便完成了HTML解析工作. </div>
		<div>在解析期间,研究了很多java正则表达式使用方法,颇得一些经验,不敢独享,愿与大家共享. </div>
		<div>­</div>
		<div>java正则表达式通过<strong>java.util.regex</strong>包下的Pattern类与Matcher类实现(<strong>建议在阅读本文时,打开java API文档,当介绍到哪个方法时,查看java API中的方法说明,效果会更佳</strong>). </div>
		<div>Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式, </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\w+"); </div>
		<div>p.pattern();//返回 \w+ </div>
		<div>­</div>
		<div>
				<strong>pattern()</strong> 返回正则表达式的字符串形式,其实就是返回Pattern.complile(String regex)的regex参数 </div>
		<div>­</div>
		<div>
				<strong>1.Pattern.split</strong>(CharSequence input) </div>
		<div>Pattern有一个split(CharSequence input)方法,用于分隔字符串,并返回一个String[],我猜String.split(String regex)就是通过Pattern.split(CharSequence input)来实现的. </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>String[] str=p.split("我的QQ是:456456我的电话是:0532214我的邮箱是:aaa@aaa.com"); </div>
		<div>­</div>
		<div>结果:str[0]="我的QQ是:" str[1]="我的电话是:" str[2]="我的邮箱是:aaa@aaa.com" </div>
		<div>­</div>
		<div>
				<strong>2.Pattern.matcher</strong>(String regex,CharSequence input)是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串. </div>
		<div>Java代码示例: </div>
		<div>Pattern.matches("\\d+","2223");//返回true </div>
		<div>Pattern.matches("\\d+","2223aa");//返回false,需要匹配到所有字符串才能返回true,这里aa不能匹配到 </div>
		<div>Pattern.matches("\\d+","22bb23");//返回false,需要匹配到所有字符串才能返回true,这里bb不能匹配到 </div>
		<div>­</div>
		<div>
				<strong>3.Pattern.matcher</strong>(CharSequence input) </div>
		<div>说了这么多,终于轮到Matcher类登场了,Pattern.matcher(CharSequence input)返回一个Matcher对象. </div>
		<div>Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例. </div>
		<div>Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("22bb23"); </div>
		<div>m.pattern();//返回p 也就是返回该Matcher对象是由哪个Pattern对象的创建的 </div>
		<div>­</div>
		<div>
				<strong>4.Matcher.matches</strong>()<strong></strong>/<strong> Matcher.lookingAt</strong>()<strong></strong>/ <strong>Matcher.find</strong>() </div>
		<div>Matcher类提供三个匹配操作方法,三个方法均返回boolean类型,当匹配到时返回true,没匹配到则返回false </div>
		<div>­</div>
		<div>matches()对整个字符串进行匹配,只有整个字符串都匹配了才返回true </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("22bb23"); </div>
		<div>m.matches();//返回false,因为bb不能被\d+匹配,导致整个字符串匹配未成功. </div>
		<div>Matcher m2=p.matcher("2223"); </div>
		<div>m2.matches();//返回true,因为\d+匹配到了整个字符串 </div>
		<div>­</div>
		<div>我们现在回头看一下Pattern.matcher(String regex,CharSequence input),它与下面这段代码等价 </div>
		<div>Pattern.compile(regex).matcher(input).matches() </div>
		<div>­</div>
		<div>lookingAt()对前面的字符串进行匹配,只有匹配到的字符串在最前面才返回true </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("22bb23"); </div>
		<div>m.lookingAt();//返回true,因为\d+匹配到了前面的22 </div>
		<div>Matcher m2=p.matcher("aa2223"); </div>
		<div>m2.lookingAt();//返回false,因为\d+不能匹配前面的aa </div>
		<div>­</div>
		<div>find()对字符串进行匹配,匹配到的字符串可以在任何位置. </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("22bb23"); </div>
		<div>m.find();//返回true </div>
		<div>Matcher m2=p.matcher("aa2223"); </div>
		<div>m2.find();//返回true </div>
		<div>Matcher m3=p.matcher("aa2223bb"); </div>
		<div>m3.find();//返回true </div>
		<div>Matcher m4=p.matcher("aabb"); </div>
		<div>m4.find();//返回false </div>
		<div>­</div>
		<div>
				<strong>5.Mathcer.start</strong>()<strong></strong>/ <strong>Matcher.end</strong>()<strong></strong>/ <strong>Matcher.group</strong>() </div>
		<div>当使用matches(),lookingAt(),find()执行匹配操作后,就可以利用以上三个方法得到更详细的信息. </div>
		<div>start()返回匹配到的子字符串在字符串中的索引位置. </div>
		<div>end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. </div>
		<div>group()返回匹配到的子字符串 </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("aaa2223bb"); </div>
		<div>m.find();//匹配2223 </div>
		<div>m.start();//返回3 </div>
		<div>m.end();//返回7,返回的是2223后的索引号 </div>
		<div>m.group();//返回2223 </div>
		<div>­</div>
		<div>Mathcer m2=m.matcher("2223bb"); </div>
		<div>m.lookingAt();  //匹配2223 </div>
		<div>m.start();  //返回0,由于lookingAt()只能匹配前面的字符串,所以当使用lookingAt()匹配时,start()方法总是返回0 </div>
		<div>m.end();  //返回4 </div>
		<div>m.group();  //返回2223 </div>
		<div>­</div>
		<div>Matcher m3=m.matcher("2223bb"); </div>
		<div>m.matches();  //匹配整个字符串 </div>
		<div>m.start();  //返回0,原因相信大家也清楚了 </div>
		<div>m.end();  //返回6,原因相信大家也清楚了,因为matches()需要匹配所有字符串 </div>
		<div>m.group();  //返回2223bb </div>
		<div>­</div>
		<div>说了这么多,相信大家都明白了以上几个方法的使用,该说说正则表达式的分组在java中是怎么使用的. </div>
		<div>start(),end(),group()均有一个重载方法它们是start(int i),end(int i),group(int i)专用于分组操作,Mathcer类还有一个groupCount()用于返回有多少组. </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("([a-z]+)(\\d+)"); </div>
		<div>Matcher m=p.matcher("aaa2223bb"); </div>
		<div>m.find();  //匹配aaa2223 </div>
		<div>m.groupCount();  //返回2,因为有2组 </div>
		<div>m.start(1);  //返回0 返回第一组匹配到的子字符串在字符串中的索引号 </div>
		<div>m.start(2);  //返回3 </div>
		<div>m.end(1);  //返回3 返回第一组匹配到的子字符串的最后一个字符在字符串中的索引位置. </div>
		<div>m.end(2);  //返回7 </div>
		<div>m.group(1);  //返回aaa,返回第一组匹配到的子字符串 </div>
		<div>m.group(2);  //返回2223,返回第二组匹配到的子字符串 </div>
		<div>­</div>
		<div>现在我们使用一下稍微高级点的正则匹配操作,例如有一段文本,里面有很多数字,而且这些数字是分开的,我们现在要将文本中所有数字都取出来,利用java的正则操作是那么的简单. </div>
		<div>Java代码示例: </div>
		<div>Pattern p=Pattern.compile("\\d+"); </div>
		<div>Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com"); </div>
		<div>while(m.find()) { </div>
		<div>    System.out.println(m.group()); </div>
		<div>} </div>
		<div>­</div>
		<div>输出: </div>
		<div>456456 </div>
		<div>0532214 </div>
		<div>123 </div>
		<div>­</div>
		<div>如将以上while()循环替换成 </div>
		<div>while(m.find()) { </div>
		<div>    System.out.println(m.group()); </div>
		<div>    System.out.print("start:"+m.start()); </div>
		<div>    System.out.println(" end:"+m.end()); </div>
		<div>} </div>
		<div>则输出: </div>
		<div>456456 </div>
		<div>start:6 end:12 </div>
		<div>0532214 </div>
		<div>start:19 end:26 </div>
		<div>123 </div>
		<div>start:36 end:39 </div>
		<div>­</div>
		<div>现在大家应该知道,每次执行匹配操作后start(),end(),group()三个方法的值都会改变,改变成匹配到的子字符串的信息,以及它们的重载方法,也会改变成相应的信息. </div>
		<div>
				<strong>注意:只有当匹配操作成功,才可以使用start(),end(),group()三个方法,否则会抛出java.lang.IllegalStateException,也就是当matches(),lookingAt(),find()其中任意一个方法返回true时,才可以使用.</strong>
		</div>
		<div>­</div>
		<div>
				<strong>6.Matcher.</strong>
				<font face="NSimsun">
						<strong>replaceAll</strong>
				</font>
				<font face="NSimsun">(</font>
				<font face="NSimsun">String</font>
				<font face="NSimsun"> replacement)</font> /<strong> Matcher.<font face="NSimsun">replaceFirst</font></strong><font face="NSimsun">(</font><font face="NSimsun">String</font><font face="NSimsun"> replacement)</font></div>
		<div>大家应该知道String.replaceAll()和String.replaceFirst()两个方法的功能,其实它与Matcher.replaceAll()和Matcher.replaceFirst()的功能是一样的,只不过是使用方式不一样.例如我要将某文本中的所有数字变成*</div>
		<div>使用String完成该要求</div>
		<div>Java代码示例: </div>
		<div>String str="我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com";</div>
		<div>System.out.println(str.replaceAll("\\d","*"));</div>
		<div> </div>
		<div>输出: 我的QQ是:****** 我的电话是:******* 我的邮箱是:aaa***@aaa.com</div>
		<div> </div>
		<div>现在我们用Matcher完成该要求</div>
		<div>Java代码示例:</div>
		<div>Pattern p=Pattern.compile("\\d");</div>
		<div>­Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com");</div>
		<div>System.out.println(m.replaceAll("*"));</div>
		<div> </div>
		<div>输出: 我的QQ是:****** 我的电话是:******* 我的邮箱是:aaa***@aaa.com</div>
		<div> </div>
		<div>String.replaceAll()应该是调用了Matcher.replaceAll(),String.replaceAll()与下面这段代码等价</div>
		<div>
				<code>Pattern</code>
				<font face="NSimsun">.</font>
				<code>compile</code>
				<font face="NSimsun">(</font>
				<em>regex</em>
				<tt>).<code>matcher</code>(</tt>
				<em>str</em>
				<tt>).<code>replaceAll</code>(</tt>
				<font face="新宋体">replacement</font>
				<tt>)</tt>
		</div>
		<div>
				<tt>
				</tt> </div>
		<div>
				<tt>至于Matcher.replaceFirst()也很简单,它与String.replaceFirst()功能一样,我就不多说了.</tt>
		</div>
		<div>
				<em>str</em>
				<tt>.replaceFirst(</tt>
				<em>regex</em>
				<tt>,</tt>
				<font face="新宋体">
						<em>replacement</em>
				</font>
				<tt>)与下面这段代码等价</tt>
		</div>
		<div>
				<tt>
						<code>Pattern</code>.<code>compile</code>(<em>regex</em><tt>).<code>matcher</code>(</tt><em>str</em><tt>).<code>replaceFirst</code>(</tt><em><font face="新宋体">replacement</font></em><tt>)</tt></tt>
		</div>
		<div>
				<tt>
						<tt>
						</tt>
				</tt> </div>
		<div>
				<strong>7.Matcher.</strong>
				<font face="NSimsun">
						<strong>appendReplacement</strong>
				</font>
				<font face="NSimsun">(</font>
				<font face="NSimsun">StringBuffer</font>
				<font face="NSimsun"> sb, </font>
				<font face="NSimsun">String</font>
				<font face="NSimsun"> replacement)</font> / <strong>Matcher.<font face="NSimsun">appendTail</font></strong><font face="NSimsun">(</font><font face="NSimsun">StringBuffer</font><font face="NSimsun"> sb)</font></div>
		<div>­将当前匹配子串替换为指定字符串，并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里，而appendTai­l(StringBuffer sb) 方法则将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里．看例子：</div>
		<div>
				<div>Java代码示例:</div>
		</div>
		<div>
				<div>Pattern p=Pattern.compile("\\d+");</div>
				<div>Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com");</div>
				<div>StringBuffer sb=new StringBuffer();</div>
				<div>m.find();  //匹配到456456</div>
				<div>m.appendReplacement(sb,"*");  //将456456之前的字符串追加到sb,再将456456替换为*,并追加到sb</div>
				<div>System.out.println(sb.toString());</div>
				<div>m.appendTail(sb);  //将前面替换过的内容连接后面未替换过的内容,并放入sb</div>
				<div>System.out.println(sb.toString());</div>
				<div> </div>
				<div>输出：</div>
				<div>我的QQ是:*<br />我的QQ是:* 我的电话是:0532214 我的邮箱是:aaa123@aaa.com</div>
				<div> </div>
				<div>再看一个例子</div>
		</div>
		<div>
				<div>Java代码示例:</div>
				<div>Pattern p=Pattern.compile("\\d+");</div>
		</div>
		<div>Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com");</div>
		<div>StringBuffer sb=new StringBuffer();</div>
		<div>while(m.find()) {</div>
		<div>    m.appendReplacement(sb,"*");</div>
		<div>    System.out.println(sb.toString());</div>
		<div>}</div>
		<div>
				<div>m.appendTail(sb);</div>
				<div>System.out.println("使用appendTail()的最终内容是："+sb.toString());</div>
		</div>
		<div> </div>
		<div>输出：</div>
		<div>我的QQ是:*<br />我的QQ是:* 我的电话是:*<br />我的QQ是:* 我的电话是:* 我的邮箱是:aaa*<br />使用appendTail()的最终内容是：我的QQ是:* 我的电话是:* 我的邮箱是:aaa*@aaa.com</div>
		<div> </div>
		<div>关于这两个方法就介绍到这,如果不明白的话,还需要自己动下手,认真体会一下其内涵.</div>
		<div> </div>
		<div>
				<strong>­8.Matcher.<font face="NSimsun">region</font></strong>
				<font face="NSimsun">(int start, int end)</font> / <strong><font face="NSimsun">Matcher.regionEnd</font></strong><font face="NSimsun">() / <strong><font face="NSimsun">Matcher.regionStart</font></strong><font face="NSimsun">()</font></font></div>
		<font face="新宋体">
		</font>
		<div>我们在做匹配操作时,默认去匹配的是整个字符串,例如有一字符串"aabbcc",使用"\\d+"去find()时,是从第一个a开始匹配,也就是索引号为0的位置,开始去匹配,当索引号为0的位置没有匹配到时,就去下一个位置去匹配...直到匹配到子字符串或匹配完最后一个字符索引号才结束,很显然"\\d+"不能匹配"aabbcc",当它匹配完最后一个c时,结束本次匹配,宣告匹配失败,也就是说它会去匹配完整个字符串,能不能不去匹配完整个字符串呢,答案是可以的.</div>
		<div>region(int start,int end)就是用来设置此匹配器的区域限制。</div>
		<div>先来看一个例子.</div>
		<div>
				<div>Java代码示例:</div>
				<div>Pattern p=Pattern.compile("\\d+");</div>
				<div>String content="aaabb2233cc";<br />Matcher m=p.matcher(content);<br />System.out.println(m);</div>
		</div>
		<div> </div>
		<div>输出: java.util.regex.Matcher[pattern=\d+ <strong>region=0,11</strong> lastmatch=]</div>
		<div> </div>
		<div>可以看到region=0,11 表示start=0,end=11,更通俗的说就是当去匹配字符串,先从索引号为0的位置去匹配,如果匹配到了子字符串就返回,如果没有匹配到则到下一个位置去匹配,一直匹配到索引号为11-1的字符就结束匹配.</div>
		<div>为什么是11呢,因为content.length()==11</div>
		<div>现在你应该明白了它的作用,来看一个例子.</div>
		<div>
				<div>Java代码示例:</div>
				<div>Pattern p=Pattern.compile("\\d+");</div>
				<div>String content="aaabb2233cc";<br />Matcher m=p.matcher(content);<br />m.find();  //匹配到2223,返回true</div>
				<div> </div>
				<div>Matcher m2=p.matcher(content);</div>
				<div>m2.region(0,5);</div>
				<div>m2.find();  //返回false,只去匹配索引号0至5-1的字符,没有匹配到</div>
				<div> </div>
				<div>Matcher m3=p.matcher(content);</div>
				<div>m2.region(3,8);</div>
				<div>m2.find();  //返回true</div>
				<div>m2.group();  //返回223,为什么,请数一下索引号就知道了.</div>
		</div>
		<div> </div>
		<div>
				<font face="新宋体">Matcher.regionStart()返回region(int start,int end)中的start值,默认为0</font>
		</div>
		<div>
				<font face="新宋体">Matcher.regionEnd()返回region(int start,int end)中的end值,默认为去匹配字符串的length()值</font>
		</div>
		<div>
				<font face="新宋体">
				</font>
				<br />
				<strong>9.Matcher.</strong>
				<font face="NSimsun">
						<strong>reset</strong>
				</font>
				<font face="NSimsun">()</font> / <strong>Matcher.<font face="NSimsun">reset</font></strong><font face="NSimsun">(</font><font face="NSimsun">CharSequence</font><font face="NSimsun"> input)</font></div>
		<div>用于重置匹配器。看示例</div>
		<div>Java代码示例:</div>
		<div>
				<div>Pattern p=Pattern.compile("[a-z]+");</div>
				<div>String content="aaabb2233cc";<br />Matcher m=p.matcher(content);  //此时m刚创建出来,为最初状态</div>
				<div>m.find();</div>
				<div>m.group();  //返回aaabb</div>
				<div>m.find();</div>
				<div>m.group();  //返回cc</div>
				<div> </div>
				<div>Matcher m2=p.matcher(content);  //此时m2刚创建出来,为最初状态</div>
				<div>m.find();</div>
				<div>m.group();  //返回aaabb</div>
				<div>m.reset();  //恢复到了最初状态,此时相当于m2刚创建出来</div>
				<div>m.find();</div>
				<div>m.group();  //返回aaabb,相信大家应该知道了吧</div>
		</div>
		<div> </div>
		<div> Matcher.<font face="NSimsun">reset</font><font face="NSimsun">(</font><font face="NSimsun">CharSequence</font><font face="NSimsun"> input)</font> 恢复到最初状态,并将匹配字符串换成input,以后执行匹配操作时,就来匹配input,而不匹配原来的字符串了.</div>
		<div> </div>
		<div>
				<strong>10.Matcher.<font face="NSimsun">toMatchResult</font></strong>
				<font face="NSimsun">()</font>
		</div>
		<div>大家查看一下java API 对Matcher类的说明,会发现它实现了MatchResult 接口,这个接口只有以下几个方法</div>
		<div>groupCount() </div>
		<div>group() / group(int i)</div>
		<div>start() / start(int i) </div>
		<div>end() / end(int i)</div>
		<div> </div>
		<div>至于这几个方法的功能前面已经介绍过,现在我们来看一下<font face="新宋体">toMatchResult()</font> 是如何使用的</div>
		<div>
				<div>Java代码示例:</div>
				<div>Pattern p=Pattern.compile("\\d+");<br />Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com");<br />List list=new ArrayList();<br />while(m.find()) {<br />    list.add(m.toMatchResult());<br />}<br />MatchResult matchResult=null;<br />Iterator it=list.iterator();<br />int i=1;<br />while(it.hasNext()) {<br />    matchResult=(MatchResult)it.next();<br />    System.out.print("第"+(i++)+"次匹配到的信息: ");<br />    System.out.println(matchResult.group()+"\t\t"+matchResult.start()+"\t"+matchResult.end());<br />}</div>
		</div>
		<div> </div>
		<div>输出:</div>
		<div>第1次匹配到的信息: 456456           6        12<br />第2次匹配到的信息: 0532214        19      26<br />第3次匹配到的信息: 123                 36      39</div>
		<div> </div>
		<div>现在你应该知道,<font face="新宋体">toMatchResult()用于保存某次匹配后的信息,待以后再使用.</font></div>
		<div>
				<font face="新宋体">
				</font>
		</div>
		<div>
				<font face="新宋体">方法使用就说到这里,现在再介绍一个实例</font>
		</div>
		<div>­</div>
		<div>有这样一个需求,有一个HTML文件,需要将其中的内容抽取出来,并不带HTML标签,如果使用正则表达式,这是一件很容易的事情. 前提是这个HTML文件只保留了&lt;body&gt;&lt;/body&gt;标签以内的内容.</div>
		<div>Java代码示例: </div>
		<div>String html="&lt;div&gt;&lt;font  color='red'&gt;example1&lt;/font&gt;&lt;/div&gt;"; //可以是任何html文件源代码,但格式一定要正确 </div>
		<div>Pattern p=Pattern.compile("&lt;[^&gt;]*&gt;"); </div>
		<div>Matcher m=p.matcher(html); </div>
		<div>String result=m.replaceAll(""); </div>
		<div>System.out.println(result); </div>
		<div>­</div>
		<div>输出:example1 </div>
		<p>参考资料：<br />java.util.regex的API文档<br />陈广佳的JAVA正则表达式--Pattern和Matcher</p>
<img src ="http://www.blogjava.net/wufalong/aggbug/167928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-15 12:19 <a href="http://www.blogjava.net/wufalong/articles/167928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux文件权限查看及修改</title><link>http://www.blogjava.net/wufalong/articles/167776.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Fri, 14 Dec 2007 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/167776.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/167776.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/167776.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/167776.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/167776.html</trackback:ping><description><![CDATA[查看linux文件的权限：ls -l 文件名称<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />查看linux文件夹的权限：ls -ld 文件夹名称（所在目录）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />修改文件及文件夹权限：<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod -（代表类型）×××（所有者）×××（组用户）×××（其他用户）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />常用修改权限的命令：<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod 600 ××× （只有所有者有读和写的权限）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod 644 ××× （所有者有读和写的权限，组用户只有读的权限）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod 700 ××× （只有所有者有读和写以及执行的权限）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod 666 ××× （每个人都有读和写的权限）<span style="DISPLAY: none">NzMitug</span><br /><span style="DISPLAY: none">NzMitug</span><br />sudo chmod 777 ××× （每个人都有读和写以及执行的权限） <!-- 分页 --><img src ="http://www.blogjava.net/wufalong/aggbug/167776.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-14 14:53 <a href="http://www.blogjava.net/wufalong/articles/167776.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式,不区分大小写的替换</title><link>http://www.blogjava.net/wufalong/articles/167694.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Fri, 14 Dec 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/167694.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/167694.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/167694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/167694.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/167694.html</trackback:ping><description><![CDATA[ /**不区分大小写的替换**/<br />    public  String IgnoreCaseReplace(String source, String oldstring,String newstring)<br />   {<br />      Pattern p = Pattern.compile(oldstring, Pattern.CASE_INSENSITIVE);<br />      Matcher m = p.matcher(source);<br />      String ret=m.replaceAll(newstring);<br />      return ret;<br />   }<img src ="http://www.blogjava.net/wufalong/aggbug/167694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-14 10:37 <a href="http://www.blogjava.net/wufalong/articles/167694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二种include</title><link>http://www.blogjava.net/wufalong/articles/167621.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Thu, 13 Dec 2007 15:36:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/167621.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/167621.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/167621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/167621.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/167621.html</trackback:ping><description><![CDATA[以下是对include 两种用法的区别<br />主要有两个方面的不同;<br />一:执行时间上:<br />&lt;%@ include file=”relativeURI”%&gt; 是在翻译阶段执行<br />&lt;jsp:include page=”relativeURI” flush=”true” /&gt; 在请求处理阶段执行.<br />二:引入内容的不同:<br />&lt;%@ include file=”relativeURI”%&gt;<br />引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.<br />&lt;jsp:include page=”relativeURI” flush=”true” /&gt;引入执行页面或servlet所生成的应答文本.<br /><br />file是先把内容组合.再一起编译成一个文件. page 是先编译,产生二个class文件.file文件的值可以向下传.而page就不能.file文件找不到会报错,page不会.<img src ="http://www.blogjava.net/wufalong/aggbug/167621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-13 23:36 <a href="http://www.blogjava.net/wufalong/articles/167621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j详解 (摘抄过来的)</title><link>http://www.blogjava.net/wufalong/articles/166258.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Sat, 08 Dec 2007 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/166258.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/166258.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/166258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/166258.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/166258.html</trackback:ping><description><![CDATA[根据网络资料整理        <br /><strong><font color="#0000ff">&gt;&gt;&gt;&gt;1. 概述&lt;&lt;&lt;&lt;<br /></font></strong>　　<strong>1.1. 背景<br /></strong>　　<br />　　在应用程序中添加日志记录总的来说基于三个目的：监视代码中变量的变化情况，周期性的记录到文件中供其他应用进行统计分析工作；跟踪代码运行时轨迹，作为日后审计的依据；担当集成开发环境中的调试器的作用，向文件或控制台打印代码的调试信息。<br />　　<br />　　最普通的做法就是在代码中嵌入许多的打印语句，这些打印语句可以输出到控制台或文件中，比较好的做法就是构造一个日志操作类来封装此类操作，而不是让一系列的打印语句充斥了代码的主体。<br />　　<br />　　<strong>1.2. Log4j简介</strong><br />　　<br />　　在强调可重用组件开发的今天，除了自己从头到尾开发一个可重用的日志操作类外，Apache为我们提供了一个强有力的日志操作包-Log4j。<br />　　<br />　 　Log4j是Apache的一个开放源代码项目，通过使用Log4j，我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等；我们也可以控制每一条日志的输出格式；通过定义每一条日志信息的级别，我们能够更加细致地控制日志的生成过程。最令人感兴趣的就 是，这些可以通过一个配置文件来灵活地进行配置，而不需要修改应用的代码。<br />　　<br />　　此外，通过Log4j其他语言接口，您可以在C、C+ +、.Net、PL/SQL程序中使用Log4j，其语法和用法与在Java程序中一样，使得多语言分布式系统得到一个统一一致的日志组件模块。而且，通 过使用各种第三方扩展，您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。<br />　　<br />　　本文介绍的Log4j版本是 1.2.3。作者试图通过一个简单的客户/服务器Java程序例子对比使用与不使用Log4j 1.2.3的差别，并详细讲解了在实践中最常使用Log4j的方法和步骤。在强调可重用组件开发的今天，相信Log4j将会给广大的设计开发人员带来方 便。加入到Log4j的队伍来吧！<br />　　<br /><font color="#0000ff"><strong>&gt;&gt;&gt;&gt; 2. 一个简单的例子 &lt;&lt;&lt;&lt;</strong></font><p>　　我们先来看一个简单的例子，它是一个用Java实现的客户/服务器网络程序。刚开始我们不使用Log4j，而是使用了一系列的打印语句，然后我们将使用Log4j来实现它的日志功能。这样，大家就可以清楚地比较出前后两个代码的差别。<br />　　<br />　　2.1. 不使用Log4j<br />　　<br />　　2.1.1. 客户程序<br />　　package log4j ;<br />　　<br />　　import java.io.* ;<br />　　import java.net.* ;<br />　　<br />　　/**<br />　　 *<br />　　 * &lt;p&gt; Client Without Log4j &lt;/p&gt;<br />　　 * &lt;p&gt; Description: a sample with log4j&lt;/p&gt;<br />　　 * @version 1.0<br />　　 */<br />　　public class ClientWithoutLog4j {<br />　　<br />　　　　/**<br />　　　　 *<br />　　　　 * @param args<br />　　　　 */<br />　　　　public static void main ( String args [] ) {<br />　　<br />　　　　　　String welcome = null;<br />　　　　　　String response = null;<br />　　　　　　BufferedReader reader = null;<br />　　　　　　PrintWriter writer = null;<br />　　　　　　InputStream in = null;<br />　　　　　　OutputStream out = null;<br />　　　　　　Socket client = null;<br />　　<br />　　　　　　try {<br />　　　　　　　　client = new Socket ( "localhost", 8001 ) ;<br />　　　　　　　　System.out.println ( "info: Client socket: " + client ) ;<br />　　　　　　　　in = client.getInputStream () ;<br />　　　　　　　　out = client.getOutputStream () ;<br />　　　　　　} catch ( IOException e ) {<br />　　　　　　　　System.out.println ( "error: IOException : " + e ) ;<br />　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　}<br />　　<br />　　　　　　try{<br />　　　　　　　　reader = new BufferedReader( new InputStreamReader ( in ) ) ;<br />　　　　　　　　writer = new PrintWriter ( new OutputStreamWriter ( out ), true ) ;<br />　　<br />　　　　　　　　welcome = reader.readLine () ;<br />　　　　　　　　System.out.println ( "debug: Server says: '" + welcome + "'" ) ;<br />　　<br />　　　　　　　　System.out.println ( "debug: HELLO" ) ;<br />　　　　　　　　writer.println ( "HELLO" ) ;<br />　　　　　　　　response = reader.readLine () ;<br />　　　　　　　　System.out.println ( "debug: Server responds: '" + response + "'") ;<br />　　<br />　　　　　　　　System.out.println ( "debug: HELP" ) ;<br />　　　　　　　　writer.println ( "HELP" ) ;<br />　　　　　　　　response = reader.readLine () ;<br />　　　　　　　　System.out.println ( "debug: Server responds: '" + response + "'" ) ;<br />　　<br />　　　　　　　　System.out.println ( "debug: QUIT" ) ;<br />　　　　　　　　writer.println ( "QUIT" ) ;<br />　　　　　　} catch ( IOException e ) {<br />　　　　　　　　System.out.println ( "warn: IOException in client.in.readln()" ) ;<br />　　　　　　　　System.out.println ( e ) ;<br />　　　　　　}<br />　　　　　　try{<br />　　　　　　　　Thread.sleep ( 2000 ) ;<br />　　　　　　} catch ( Exception ignored ) {}<br />　　　　}<br />　　}<br />　　<br />　　2.1.2. 服务器程序<br />　　package log4j ;<br />　　<br />　　import java.util.* ;<br />　　import java.io.* ;<br />　　import java.net.* ;<br />　　<br />　　/**<br />　　 *<br />　　 * &lt;p&gt; Server Without Log4j &lt;/p&gt;<br />　　 * &lt;p&gt; Description: a sample with log4j&lt;/p&gt;<br />　　 * @version 1.0<br />　　 */<br />　　public class ServerWithoutLog4j {<br />　　<br />　　　　final static int SERVER_PORT = 8001 ; // this server's port<br />　　<br />　　　　/**<br />　　　　 *<br />　　　　 * @param args<br />　　　　 */<br />　　　　public static void main ( String args [] ) {<br />　　　　　　String clientRequest = null;<br />　　　　　　BufferedReader reader = null;<br />　　　　　　PrintWriter writer = null;<br />　　　　　　ServerSocket server = null;<br />　　　　　　Socket socket = null;<br />　　　　　　InputStream in = null;<br />　　　　　　OutputStream out = null;<br />　　<br />　　　　　　try {<br />　　　　　　　　server = new ServerSocket ( SERVER_PORT ) ;<br />　　　　　　　　System.out.println ( "info: ServerSocket before accept: " + server ) ;<br />　　　　　　　　System.out.println ( "info: Java server without log4j, on-line!" ) ;<br />　　<br />　　　　　　　　// wait for client's connection<br />　　　　　　　　socket = server.accept () ;<br />　　　　　　　　System.out.println ( "info: ServerSocket after accept: " + server )　;<br />　　<br />　　　　　　　　in = socket.getInputStream () ;<br />　　　　　　　　out = socket.getOutputStream () ;<br />　　<br />　　　　　　} catch ( IOException e ) {<br />　　　　　　　　System.out.println( "error: Server constructor IOException: " + e ) ;<br />　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　}<br />　　　　　　reader = new BufferedReader ( new InputStreamReader ( in ) ) ;<br />　　　　　　writer = new PrintWriter ( new OutputStreamWriter ( out ) , true ) ;<br />　　<br />　　　　　　// send welcome string to client<br />　　　　　　writer.println ( "Java server without log4j, " + new Date () ) ;<br />　　<br />　　　　　　while ( true ) {<br />　　　　　　　　try {<br />　　　　　　　　　　// read from client<br />　　　　　　　　　　clientRequest = reader.readLine () ;<br />　　　　　　　　　　System.out.println ( "debug: Client says: " + clientRequest ) ;<br />　　　　　　　　　　if ( clientRequest.startsWith ( "HELP" ) ) {<br />　　　　　　　　　　　　System.out.println ( "debug: OK!" ) ;<br />　　　　　　　　　　　　writer.println ( "Vocabulary: HELP QUIT" ) ;<br />　　　　　　　　　　}<br />　　　　　　　　　　else {<br />　　　　　　　　　　　　if ( clientRequest.startsWith ( "QUIT" ) ) {<br />　　　　　　　　　　　　　　System.out.println ( "debug: OK!" ) ;<br />　　　　　　　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　　　　　　　}<br />　　　　　　　　　　　　else{<br />　　　　　　　　　　　　　　System.out.println ( "warn: Command '" + <br />　　 clientRequest + "' not understood." ) ;<br />　　　　　　　　　　　　　　writer.println ( "Command '" + clientRequest <br />　　 + "' not understood." ) ;<br />　　　　　　　　　　　　}<br />　　　　　　　　　　}<br />　　　　　　　　} catch ( IOException e ) {<br />　　　　　　　　　　System.out.println ( "error: IOException in Server " + e ) ;<br />　　　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　　　}<br />　　　　　　}<br />　　　　}<br />　　}<br />　　<br />　　2.2. 迁移到Log4j<br />　　<br />　　2.2.1. 客户程序<br />　　<br />　　package log4j ;<br />　　<br />　　import java.io.* ;<br />　　import java.net.* ;<br />　　<br />　　// add for log4j: import some package<br />　　import org.apache.log4j.PropertyConfigurator ;<br />　　import org.apache.log4j.Logger ;<br />　　import org.apache.log4j.Level ;<br />　　<br />　　/**<br />　　 *<br />　　 * &lt;p&gt; Client With Log4j &lt;/p&gt;<br />　　 * &lt;p&gt; Description: a sample with log4j&lt;/p&gt;<br />　　 * @version 1.0<br />　　 */<br />　　public class ClientWithLog4j {<br />　　<br />　　　　/*<br />　　　　add for log4j: class Logger is the central class in the log4j package.<br />　　　　we can do most logging operations by Logger except configuration.<br />　　　　getLogger(...): retrieve a logger by name, if not then create for it.<br />　　　　*/<br />　　　　static Logger logger = Logger.getLogger <br />　　 ( ClientWithLog4j.class.getName () ) ;<br />　　<br />　　　　/**<br />　　　　 *<br />　　　　 * @param args : configuration file name<br />　　　　 */<br />　　　　public static void main ( String args [] ) {<br />　　<br />　　　　　　String welcome = null ;<br />　　　　　　String response = null ;<br />　　　　　　BufferedReader reader = null ;<br />　　　　　　PrintWriter writer = null ;<br />　　　　　　InputStream in = null ;<br />　　　　　　OutputStream out = null ;<br />　　　　　　Socket client = null ;<br />　　<br />　　　　　　/*<br />　　　　　　add for log4j: class BasicConfigurator can quickly configure the package.<br />　　　　　　print the information to console.<br />　　　　　　*/<br />　　　　　　PropertyConfigurator.configure ( "ClientWithLog4j.properties" ) ;<br />　　<br />　　　　　　// add for log4j: set the level<br />　　//　　　　logger.setLevel ( ( Level ) Level.DEBUG ) ;<br />　　<br />　　　　　　try{<br />　　　　　　　　client = new Socket( "localhost" , 8001 ) ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the info level<br />　　　　　　　　logger.info ( "Client socket: " + client ) ;<br />　　<br />　　　　　　　　in = client.getInputStream () ;<br />　　　　　　　　out = client.getOutputStream () ;<br />　　　　　　} catch ( IOException e ) {<br />　　<br />　　　　　　　　// add for log4j: log a message with the error level<br />　　　　　　　　logger.error ( "IOException : " + e ) ;<br />　　<br />　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　}<br />　　<br />　　　　　　try{<br />　　　　　　　　reader = new BufferedReader ( new InputStreamReader ( in ) ) ;<br />　　　　　　　　writer = new PrintWriter ( new OutputStreamWriter ( out ), true ) ;<br />　　<br />　　　　　　　　welcome = reader.readLine () ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "Server says: '" + welcome + "'" ) ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "HELLO" ) ;<br />　　<br />　　　　　　　　writer.println ( "HELLO" ) ;<br />　　　　　　　　response = reader.readLine () ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "Server responds: '" + response + "'" ) ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "HELP" ) ;<br />　　<br />　　　　　　　　writer.println ( "HELP" ) ;<br />　　　　　　　　response = reader.readLine () ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "Server responds: '" + response + "'") ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　logger.debug ( "QUIT" ) ;<br />　　<br />　　　　　　　　writer.println ( "QUIT" ) ;<br />　　　　　　} catch ( IOException e ) {<br />　　<br />　　　　　　　　// add for log4j: log a message with the warn level<br />　　　　　　　　logger.warn ( "IOException in client.in.readln()" ) ;<br />　　<br />　　　　　　　　System.out.println ( e ) ;<br />　　　　　　}<br />　　　　　　try {<br />　　　　　　　　Thread.sleep ( 2000 ) ;<br />　　　　　　} catch ( Exception ignored ) {}<br />　　　　}<br />　　}<br />　　<br />　　2.2.2. 服务器程序<br />　　<br />　　package log4j;<br />　　<br />　　import java.util.* ;<br />　　import java.io.* ;<br />　　import java.net.* ;<br />　　<br />　　// add for log4j: import some package<br />　　import org.apache.log4j.PropertyConfigurator ;<br />　　import org.apache.log4j.Logger ;<br />　　import org.apache.log4j.Level ;<br />　　<br />　　/**<br />　　 *<br />　　 * &lt;p&gt; Server With Log4j &lt;/p&gt;<br />　　 * &lt;p&gt; Description: a sample with log4j&lt;/p&gt;<br />　　 * @version 1.0<br />　　 */<br />　　public class ServerWithLog4j {<br />　　<br />　　　　final static int SERVER_PORT = 8001 ; // this server's port<br />　　<br />　　　　/*<br />　　　　add for log4j: class Logger is the central class in the log4j package.<br />　　　　we can do most logging operations by Logger except configuration.<br />　　　　getLogger(...): retrieve a logger by name, if not then create for it.<br />　　　　*/<br />　　　　static Logger logger = Logger.getLogger <br />　　 ( ServerWithLog4j.class.getName () ) ;<br />　　<br />　　　　/**<br />　　　　 *<br />　　　　 * @param args<br />　　　　 */<br />　　　　public static void main ( String args[]) {<br />　　　　　　String clientRequest = null ;<br />　　　　　　BufferedReader reader = null ;<br />　　　　　　PrintWriter writer = null ;<br />　　　　　　ServerSocket server = null ;<br />　　　　　　Socket socket = null ;<br />　　<br />　　　　　　InputStream in = null ;<br />　　　　　　OutputStream out = null ;<br />　　<br />　　　　　　/*<br />　　　　　　add for log4j: class BasicConfigurator can quickly configure the package.<br />　　　　　　print the information to console.<br />　　　　　　*/<br />　　　　　　PropertyConfigurator.configure ( "ServerWithLog4j.properties" ) ;<br />　　<br />　　　　　　// add for log4j: set the level<br />　　//　　　　logger.setLevel ( ( Level ) Level.DEBUG ) ;<br />　　<br />　　　　　　try{<br />　　　　　　　　server = new ServerSocket ( SERVER_PORT ) ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the info level<br />　　　　　　　　logger.info ( "ServerSocket before accept: " + server ) ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the info level<br />　　　　　　　　logger.info ( "Java server with log4j, on-line!" ) ;<br />　　<br />　　　　　　　　// wait for client's connection<br />　　　　　　　　socket = server.accept() ;<br />　　<br />　　　　　　　　// add for log4j: log a message with the info level<br />　　　　　　　　logger.info ( "ServerSocket after accept: " + server ) ;<br />　　<br />　　　　　　　　in = socket.getInputStream() ;<br />　　　　　　　　out = socket.getOutputStream() ;<br />　　<br />　　　　　　} catch ( IOException e ) {<br />　　<br />　　　　　　　　// add for log4j: log a message with the error level<br />　　　　　　　　logger.error ( "Server constructor IOException: " + e ) ;<br />　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　}<br />　　　　　　reader = new BufferedReader ( new InputStreamReader ( in ) ) ;<br />　　　　　　writer = new PrintWriter ( new OutputStreamWriter ( out ), true ) ;<br />　　<br />　　　　　　// send welcome string to client<br />　　　　　　writer.println ( "Java server with log4j, " + new Date () ) ;<br />　　<br />　　　　　　while ( true ) {<br />　　　　　　　　try {<br />　　　　　　　　　　// read from client<br />　　　　　　　　　　clientRequest = reader.readLine () ;<br />　　<br />　　　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　　　logger.debug ( "Client says: " + clientRequest ) ;<br />　　<br />　　　　　　　　　　if ( clientRequest.startsWith ( "HELP" ) ) {<br />　　<br />　　　　　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　　　　　logger.debug ( "OK!" ) ;<br />　　<br />　　　　　　　　　　　　writer.println ( "Vocabulary: HELP QUIT" ) ;<br />　　　　　　　　　　}<br />　　　　　　　　　　else {<br />　　　　　　　　　　　　if ( clientRequest.startsWith ( "QUIT" ) ) {<br />　　<br />　　　　　　　　　　　　　　// add for log4j: log a message with the debug level<br />　　　　　　　　　　　　　　logger.debug ( "OK!" ) ;<br />　　<br />　　　　　　　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　　　　　　　}<br />　　　　　　　　　　　　else {<br />　　<br />　　　　　　　　　　　　　　// add for log4j: log a message with the warn level<br />　　　　　　　　　　　　　　logger.warn ( "Command '" <br />　　 + clientRequest + "' not understood." ) ;<br />　　<br />　　　　　　　　　　　　　　writer.println ( "Command '"<br />　　 + clientRequest + "' not understood." ) ;<br />　　　　　　　　　　　　}<br />　　　　　　　　　　}<br />　　　　　　　　} catch ( IOException e ) {<br />　　<br />　　　　　　　　　　// add for log4j: log a message with the error level<br />　　　　　　　　　　logger.error( "IOException in Server " + e ) ;<br />　　<br />　　　　　　　　　　System.exit ( 0 ) ;<br />　　　　　　　　}<br />　　　　　　}<br />　　　　}<br />　　}<br />　　<br />　　2.2.3. 配置文件<br />　　<br />　　2.2.3.1. 客户程序配置文件<br />　　<br />　　log4j.rootLogger=INFO, A1<br />　　<br />　　log4j.appender.A1=org.apache.log4j.ConsoleAppender<br />　　<br />　　log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />　　<br />　　log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n<br />　　<br />　　2.2.3.2. 服务器程序配置文件<br />　　<br />　　log4j.rootLogger=INFO, A1<br />　　<br />　　log4j.appender.A1=org.apache.log4j.ConsoleAppender<br />　　<br />　　log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />　　<br />　　log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n<br />　　<br />　　2.3. 比较<br />　　<br />　 　比较这两个应用可以看出，采用Log4j进行日志操作的整个过程相当简单明了，与直接使用System.out.println语句进行日志信息输出的 方式相比，基本上没有增加代码量，同时能够清楚地理解每一条日志信息的重要程度。通过控制配置文件，我们还可以灵活地修改日志信息的格式，输出目的地等等 方面，而单纯依靠System.out.println语句，显然需要做更多的工作。<br /><br /><font color="#0000ff"><strong>&gt;&gt;&gt;&gt; 3 . Log4j日志管理系统简单使用说明 &lt;&lt;&lt;&lt;<br /></strong></font><br />    通常，我们都提供一个名为 log4j.properties的文件，在第一次调用到Log4J时，Log4J会在类路径（../web-inf/class/当然也可以放到其它任何目录，只要该目录被包含到类路径中即可）中定位这个文件，并读入这个文件完成的配置。这个配置文件告 诉Log4J以什么样的格式、把什么样的信息、输出到什么地方。<br />　　Log4j有三个主要的组件：Loggers(记录器)，Appenders(输出源)和Layouts(布局)，这里可简单理解为日志类别，日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松的记录信息的类型和级别，并可以在运行时控制日志输出的样式和位置。下面对三个组件分别进行说明：<br />　　<br />　　<strong>1、 Loggers<br /></strong>　 　Loggers组件在此系统中被分为五个级别：DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的，DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL，分别用来指定这条日志信息的重要程度,明白这一点很重要，这里Log4j有一个规则：假设Loggers级别为P，如果在Loggers中发生了一个级别Q比P高，则可以启动，否则屏蔽掉。<br />假设你定义的级别是info，那么error和warn的日志可以显示而比他低的debug信息就不显示了。<br /> 　<br />　　Java程序举例来说：<br />　　<br />　　//建立Logger的一个实例，命名为“com.foo”<br />　　　Logger　logger = Logger.getLogger("com.foo"); //"com.foo"是实例进行命名，也可以任意<br />　　//设置logger的级别。通常不在程序中设置logger的级别。一般在配置文件中设置。<br />　　logger.setLevel(Level.INFO);<br />　　Logger barlogger = Logger.getLogger("com.foo.Bar");<br />　　//下面这个请求可用，因为WARN &gt;= INFO<br />　　logger.warn("Low fuel level.");<br />　　//下面这个请求不可用，因为DEBUG &lt; INFO<br />　　logger.debug("Starting search for nearest gas station.");<br />　　//命名为“com.foo.bar”的实例barlogger会继承实例“com.foo”的级别。因此，下面这个请求可用，因为INFO &gt;= INFO<br />　　barlogger.info("Located nearest gas station.");<br />　　//下面这个请求不可用，因为DEBUG &lt; INFO<br />　　barlogger.debug("Exiting gas station search");<br />　　这里“是否可用”的意思是能否输出Logger信息。<br />　　　　在对Logger实例进行命名时，没有限制，可以取任意自己感兴趣的名字。一般情况下建议以类的所在位置来命名Logger实例，这是目前来讲比较有效的Logger命名方式。这样可以使得每个类建立自己的日志信息，便于管理。比如：<br />　　<br />　　static Logger logger = Logger.getLogger(ClientWithLog4j.class.getName());<br />　　<br />　<strong>　2、Appenders<br /></strong>　　禁用与使用日志请求只是Log4j其中的一个小小的地方，Log4j日志系统允许把日志输出到不同的地方，如控制台（Console）、文件（Files）、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。<br />　　<br />　　其语法表示为：<br />　　<br />　　org.apache.log4j.ConsoleAppender（控制台）<br />　　org.apache.log4j.FileAppender（文件）<br />　　org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件）<br />    org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件）<br />　　org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br />　　<br />　　配置时使用方式为：<br />　　log4j.appender.appenderName = fully.qualified.name.of.appender.class<br />　　log4j.appender.appenderName.option1 = value1<br />　　…<br />    log4j.appender.appenderName.option = valueN<br />　　这样就为日志的输出提供了相当大的便利。<br />　　<br /><strong>　　3、Layouts</strong><br />　 　有时用户希望根据自己的喜好格式化自己的日志输出。Log4j可以在Appenders的后面附加Layouts来完成这个功能。Layouts提供了 四种日志输出样式，如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式等等。<br />　　<br />　　其语法表示为：<br />　　<br />　　org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br />　　org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />　　org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />　　org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息）<br />　　<br />　　配置时使用方式为：<br />　　<br />　　log4j.appender.appenderName.layout =fully.qualified.name.of.layout.class<br />　　log4j.appender.appenderName.layout.option1 = value1<br />　　…<br />　　log4j.appender.appenderName.layout.option = valueN</p><p><strong><font color="#0000ff">&gt;&gt;&gt;&gt;  4 . Log4j的配置 &lt;&lt;&lt;&lt;　</font></strong>　<br />　　<br />　　以上是从原理方面说明Log4j的使用方法，在具体Java编程使用Log4j可以参照以下示例：<br />　　<br />　　<strong>1、 建立Logger实例</strong>：<br />　　语法表示：public static Logger getLogger( String name)<br />　　实际使用：static Logger logger = Logger.getLogger(ServerWithLog4j.class.getName ()) ;<br />　　<br />　　<strong>2、 读取配置文件</strong>：<br />　　获得了Logger的实例之后，接下来将配置Log4j使用环境：<br />　　语法表示：<br />　　BasicConfigurator.configure()：自动快速地使用缺省Log4j环境。<br />　　PropertyConfigurator.configure(String configFilename)：读取使用Java的特性文件编写的配置文件。<br />　　DOMConfigurator.configure(String filename)：读取XML形式的配置文件。<br />　　实际使用：<br />    PropertyConfigurator.configure("ServerWithLog4j.properties");<br />　　<br />　　<strong>3、 插入日志信息</strong><br />　　完成了以上连个步骤以后，下面就可以按日志的不同级别插入到你要记录日志的任何地方了。<br />　　语法表示：<br />　　Logger.debug(Object message);//调试信息<br />　　Logger.info(Object message);//一般信息<br />　　Logger.warn(Object message);//警告信息<br />　　Logger.error(Object message);//错误信息<br />　　Logger.fatal(Object message);//致命错误信息</p><p>　　实际使用：logger.info("ServerSocket before accept: " + server);<br />　　<br />　<strong><font color="#0000ff">&gt;&gt;&gt;&gt; 5. 配置过程 &lt;&lt;&lt;&lt;<br /><br /></font></strong>　在实际编程时，要使Log4j真正在系统中运行事先还要对配置文件进行定义。定义步骤就是对Logger、Appender及Layout的分别使用。<br />    Log4j支持两种配置文件格式，一种是XML格式的文件，一种是java properties（key=value）【Java特性文件（键=值）】。下面我们介绍使用Java特性文件做为配置文件的方法<br />   具体如下：<br />　　<br />　　<strong>1、配置根Logger，</strong>其语法为：<br />　　log4j.rootLogger = [ level ] , appenderName1, appenderName2, …<br />         level : 是日志记录的优先级，分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别，优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别，您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别，则应用程序中所有DEBUG级别的日志信息将不被打印出来。<br />　　     appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。<br />   例如：log4j.rootLogger＝info,A1,B2,C3<br />　　<br />　　<strong>2、配置日志信息输出目的地</strong>，其语法为：<br />　　log4j.appender.appenderName = fully.qualified.name.of.appender.class  //<br />　　  "fully.qualified.name.of.appender.class" 可以指定下面五个目的地中的一个：<br />          1.org.apache.log4j.ConsoleAppender（控制台）<br />          2.org.apache.log4j.FileAppender（文件）<br />          3.org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件）<br />          4.org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件）<br />          5.org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br />             <strong>1.ConsoleAppender选项<br /></strong>                    Threshold=WARN:指定日志消息的输出最低层次。<br />                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br />                    Target=System.err：默认情况下是：System.out,指定输出控制台<br />              <strong>2.FileAppender</strong> 选项<br />                    Threshold=WARN:指定日志消息的输出最低层次。<br />                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br />                    File=mylog.txt:指定消息输出到mylog.txt文件。<br />                    Append=false:默认值是true,即将消息增加到指定文件中，false指将消息覆盖指定的文件内容。<br />            3.<strong>DailyRollingFileAppender</strong> 选项<br />                    Threshold=WARN:指定日志消息的输出最低层次。<br />                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br />                    File=mylog.txt:指定消息输出到mylog.txt文件。<br />                    Append=false:默认值是true,即将消息增加到指定文件中，false指将消息覆盖指定的文件内容。<br />                    DatePattern='.'yyyy-ww:每周滚动一次文件，即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下：<br />                    1)'.'yyyy-MM: 每月<br />                    2)'.'yyyy-ww: 每周 <br />                    3)'.'yyyy-MM-dd: 每天<br />                    4)'.'yyyy-MM-dd-a: 每天两次<br />                    5)'.'yyyy-MM-dd-HH: 每小时<br />                    6)'.'yyyy-MM-dd-HH-mm: 每分钟<br />            4.<strong>RollingFileAppender</strong> 选项<br />                    Threshold=WARN:指定日志消息的输出最低层次。<br />                    ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br />                    File=mylog.txt:指定消息输出到mylog.txt文件。<br />                    Append=false:默认值是true,即将消息增加到指定文件中，false指将消息覆盖指定的文件内容。<br />                    MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时，将会自动滚动，即将原来的内容移到mylog.log.1文件。<br />                    MaxBackupIndex=2:指定可以产生的滚动文件的最大数。</p><p>实际应用：<br />　　log4j.appender.A1=org.apache.log4j.ConsoleAppender //这里指定了日志输出的第一个位置A1是控制台ConsoleAppender<br />　　<br />　　<strong>3、配置日志信息的格式</strong>，其语法为：<br />　　<strong>A.</strong><strong>log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class<br /></strong>              "fully.qualified.name.of.layout.class" 可以指定下面4个格式中的一个：<br />               1.org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br />　　       2.org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />　　       3.org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />　　       4.org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息）<br />                   1.HTMLLayout 选项<br />                      LocationInfo=true:默认值是false,输出java文件名称和行号<br />                      Title=my app file: 默认值是 Log4J Log Messages.<br />                   2.PatternLayout 选项<br />                      ConversionPattern=%m%n :指定怎样格式化指定的消息。<br />                   3.XMLLayout  选项<br />                      LocationInfo=true:默认值是false,输出java文件和行号<br />   实际应用：<br />   　　log4j.appender.A1.layout=org.apache.log4j.PatternLayout</p><p>       <strong>B</strong>.<strong> log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n<br /></strong>           这里需要说明的就是日志信息格式中几个符号所代表的含义：<br />　　         －X号: X信息输出时左对齐；<br />                   %p: 输出日志信息优先级，即DEBUG，INFO，WARN，ERROR，FATAL,<br />                   %d: 输出日志时间点的日期或时间，默认格式为ISO8601，也可以在其后指定格式，比如：%d{yyy MMM dd HH:mm:ss,SSS}，输出类似：2002年10月18日 22：10：28，921<br />                   %r: 输出自应用启动到输出该log信息耗费的毫秒数<br />                   %c: 输出日志信息所属的类目，通常就是所在类的全名<br />                   %t: 输出产生该日志事件的线程名<br />                   %l: 输出日志事件的发生位置，相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程，以及在代码中的行数。举例：Testlog4.main(TestLog4.java:10)<br />                   %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。<br />                   %%: 输出一个"%"字符<br />                   %F: 输出日志消息产生时所在的文件名称<br />                   %L: 输出代码中的行号<br />                   %m: 输出代码中指定的消息,产生的日志具体信息<br />                   %n: 输出一个回车换行符，Windows平台为"\r\n"，Unix平台为"\n"输出日志信息换行<br />            可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如：<br />                     1)%20c：指定输出category的名称，最小的宽度是20，如果category的名称小于20的话，默认的情况下右对齐。<br />                     2)%-20c:指定输出category的名称，最小的宽度是20，如果category的名称小于20的话，"-"号指定左对齐。<br />                     3)%.30c:指定输出category的名称，最大的宽度是30，如果category的名称大于30的话，就会将左边多出的字符截掉，但小于30的话也不会有空格。<br />                     4)%20.30c:如果category的名称小于20就补空格，并且右对齐，如果其名称长于30字符，就从左边交远销出的字符截掉。</p><p>　　这里上面三个步骤是对前面Log4j组件说明的一个简化；下面给出一个具体配置例子，在程序中可以参照执行：<br />　　log4j.rootLogger=INFO,A1，B2<br />　　log4j.appender.A1=org.apache.log4j.ConsoleAppender<br />　　log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />　　log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n<br /> 　　根据上面的日志格式，某一个程序的输出结果如下：<br />　　0　　INFO　2003-06-13 13:23:46968 ClientWithLog4j Client socket: Socket[addr=localhost/127.0.0.1,port=8002,localport=2014]<br />         16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server says: 'Java server with log4j, Fri Jun 13 13:23:46 CST 2003'<br />　　16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j GOOD<br />　　16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server responds: 'Command 'HELLO' not understood.'<br />　　16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j HELP<br />　　16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server responds: 'Vocabulary: HELP QUIT'<br />　　16　 DEBUG 2003-06-13 13:23:46984 ClientWithLog4j QUIT<br /> <br />     <strong> 4. # 当输出信息于回滚文件时</strong></p><p>          log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender   //指定以文件的方式输出日志<br />           log4j.appender.ROLLING_FILE.Threshold=ERROR <br />           log4j.appender.ROLLING_FILE.File=rolling.log  //文件位置,也可以用变量${java.home}、rolling.log<br />           log4j.appender.ROLLING_FILE.Append=true <br />           log4j.appender.ROLLING_FILE.MaxFileSize=10KB  //文件最大尺寸<br />           log4j.appender.ROLLING_FILE.MaxBackupIndex=1  //备份数<br />           log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout <br />           log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  　　</p><p>××××××××××××××××××××××××××××××××××××××××××××××××<br /><strong><font color="#0000ff"> <br /></font></strong><strong><font color="#0000ff">&gt;&gt;&gt;&gt; 6. Log4j比较全面的配置 &lt;&lt;&lt;&lt;</font></strong></p><p> LOG4J的配置之简单使它遍及于越来越多的应用中了：Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了， </p><p> log4j.rootLogger=DEBUG,CONSOLE,A1,im <br /> log4j.addivity.org.apache=true </p><p> # 应用于控制台 </p><p> log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender <br /> log4j.appender.Threshold=DEBUG <br /> log4j.appender.CONSOLE.Target=System.out <br /> log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n <br /> #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n </p><p> #应用于文件 </p><p> log4j.appender.FILE=org.apache.log4j.FileAppender <br /> log4j.appender.FILE.File=file.log <br /> log4j.appender.FILE.Append=false <br /> log4j.appender.FILE.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n <br /> # Use this layout for LogFactor 5 analysis </p><p> # 应用于文件回滚 </p><p> log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender <br /> log4j.appender.ROLLING_FILE.Threshold=ERROR <br /> log4j.appender.ROLLING_FILE.File=rolling.log  //文件位置,也可以用变量${java.home}、rolling.log<br /> log4j.appender.ROLLING_FILE.Append=true       //true:添加  false:覆盖<br /> log4j.appender.ROLLING_FILE.MaxFileSize=10KB   //文件最大尺寸<br /> log4j.appender.ROLLING_FILE.MaxBackupIndex=1  //备份数<br /> log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p><p><br /> #应用于socket <br /> log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender <br /> log4j.appender.SOCKET.RemoteHost=localhost <br /> log4j.appender.SOCKET.Port=5001 <br /> log4j.appender.SOCKET.LocationInfo=true <br /> # Set up for Log Facter 5 <br /> log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n </p><p><br /> # Log Factor 5 Appender <br /> log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender <br /> log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 </p><p> # 发送日志给邮件 </p><p> log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender <br /> log4j.appender.MAIL.Threshold=FATAL <br /> log4j.appender.MAIL.BufferSize=10 <br /> <a href="mailto:log4j.appender.MAIL.From=web@www.wuset.com">log4j.appender.MAIL.From=web@www.wuset.com</a><br /> log4j.appender.MAIL.SMTPHost=www.wusetu.com <br /> log4j.appender.MAIL.Subject=Log4J Message <br /> <a href="mailto:log4j.appender.MAIL.To=web@www.wusetu.com">log4j.appender.MAIL.To=web@www.wusetu.com</a><br /> log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p><p> # 用于数据库 <br /> log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender <br /> log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test <br /> log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver <br /> log4j.appender.DATABASE.user=root <br /> log4j.appender.DATABASE.password= <br /> log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') <br /> log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p><p><br /> log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender <br /> log4j.appender.A1.File=SampleMessages.log4j <br /> log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' <br /> log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout </p><p> #自定义Appender </p><p> log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender </p><p> log4j.appender.im.host = mail.cybercorlin.net <br /> log4j.appender.im.username = username <br /> log4j.appender.im.password = password <br /> log4j.appender.im.recipient = <a href="mailto:corlin@cybercorlin.net">corlin@cybercorlin.net</a></p><p> log4j.appender.im.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n<br /><br /><br />### direct log messages to stdout ###<br />log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br />log4j.appender.stdout.Target=System.out<br />log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br />log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] %r %c{4}:%L - %m%n</p><p>### direct messages to file hibernate.log ###<br />log4j.appender.file=org.apache.log4j.FileAppender<br />#log4j.appender.file.File=log.html<br />log4j.appender.file.File=log.txt<br />log4j.appender.file.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.file.layout=org.apache.log4j.HTMLLayout<br />#log4j.appender.file.LocationInfo=true<br />#log4j.appender..file.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n <br />log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] %r %c{4}:%L - %m%n</p><p>### set log levels - for more verbose logging change 'info' to 'debug' ###</p><p>log4j.rootLogger=info,stdout,file</p><img src ="http://www.blogjava.net/wufalong/aggbug/166258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-12-08 13:36 <a href="http://www.blogjava.net/wufalong/articles/166258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据统计,栈操作(2)</title><link>http://www.blogjava.net/wufalong/articles/148192.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Wed, 26 Sep 2007 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/148192.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/148192.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/148192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/148192.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/148192.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">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000">(CountConstants.cArrayStackA </span>
				<span style="COLOR: #000000">==</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                CountConstants.cArrayStackA </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CountViewArrayStack(CountConstants.CSTACKLENGH);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000">(CountConstants.cArrayStackB </span>
				<span style="COLOR: #000000">==</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                CountConstants.cArrayStackB </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CountViewArrayStack(CountConstants.CSTACKLENGH);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />AcceptEntity aEntity </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> AcceptEntity();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />CountManager cManager </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CountManager();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000">(CountConstants.CSTACKA)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                cManager.countViewNum(CountConstants.cArrayStackA,aEntity);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: #0000ff">else</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000">(CountConstants.CSTACKB)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                cManager.countViewNum(CountConstants.cArrayStackB,aEntity);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_640_2500_Open_Image" onclick="this.style.display='none'; Codehighlighter1_640_2500_Open_Text.style.display='none'; Codehighlighter1_640_2500_Closed_Image.style.display='inline'; Codehighlighter1_640_2500_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_640_2500_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_640_2500_Closed_Text.style.display='none'; Codehighlighter1_640_2500_Open_Image.style.display='inline'; Codehighlighter1_640_2500_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> CountManager </span>
				<span id="Codehighlighter1_640_2500_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" />
				</span>
				<span id="Codehighlighter1_640_2500_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> countViewNum(CountViewStack cArrayStack,AcceptEntity acceptEntity)<br /><img id="Codehighlighter1_734_2497_Open_Image" onclick="this.style.display='none'; Codehighlighter1_734_2497_Open_Text.style.display='none'; Codehighlighter1_734_2497_Closed_Image.style.display='inline'; Codehighlighter1_734_2497_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_734_2497_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_734_2497_Closed_Text.style.display='none'; Codehighlighter1_734_2497_Open_Image.style.display='inline'; Codehighlighter1_734_2497_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_734_2497_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" />
						</span>
						<span id="Codehighlighter1_734_2497_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">try</span>
								<span style="COLOR: #000000">
										<br />
										<img id="Codehighlighter1_756_890_Open_Image" onclick="this.style.display='none'; Codehighlighter1_756_890_Open_Text.style.display='none'; Codehighlighter1_756_890_Closed_Image.style.display='inline'; Codehighlighter1_756_890_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_756_890_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_756_890_Closed_Text.style.display='none'; Codehighlighter1_756_890_Open_Image.style.display='inline'; Codehighlighter1_756_890_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_756_890_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" />
								</span>
								<span id="Codehighlighter1_756_890_Open_Text">
										<span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            cArrayStack.push(acceptEntity);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">System.out.println("Stack ["+type+"] working …… ");</span>
										<span style="COLOR: #008000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
										</span>
										<span style="COLOR: #000000">        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000">(FullViewStackException e)<br /><img id="Codehighlighter1_940_2418_Open_Image" onclick="this.style.display='none'; Codehighlighter1_940_2418_Open_Text.style.display='none'; Codehighlighter1_940_2418_Closed_Image.style.display='inline'; Codehighlighter1_940_2418_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_940_2418_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_940_2418_Closed_Text.style.display='none'; Codehighlighter1_940_2418_Open_Image.style.display='inline'; Codehighlighter1_940_2418_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_940_2418_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" />
								</span>
								<span id="Codehighlighter1_940_2418_Open_Text">
										<span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">System.out.println ("Stack [A] is Full!");</span>
										<span style="COLOR: #008000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">            </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> i </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Session session</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Object[] saveObj </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> Object[CountConstants.CSTACKLENGH];<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            AcceptEntity outEntity </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(CountConstants.CSTACKA)<br /><img id="Codehighlighter1_1235_1345_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1235_1345_Open_Text.style.display='none'; Codehighlighter1_1235_1345_Closed_Image.style.display='inline'; Codehighlighter1_1235_1345_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1235_1345_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1235_1345_Closed_Text.style.display='none'; Codehighlighter1_1235_1345_Open_Image.style.display='inline'; Codehighlighter1_1235_1345_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_1235_1345_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" />
										</span>
										<span id="Codehighlighter1_1235_1345_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                CountConstants.CSTACKA </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">false</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                CountConstants.CSTACKB </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">true</span>
												<span style="COLOR: #000000">; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">else</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1376_1485_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1376_1485_Open_Text.style.display='none'; Codehighlighter1_1376_1485_Closed_Image.style.display='inline'; Codehighlighter1_1376_1485_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1376_1485_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1376_1485_Closed_Text.style.display='none'; Codehighlighter1_1376_1485_Open_Image.style.display='inline'; Codehighlighter1_1376_1485_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_1376_1485_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" />
										</span>
										<span id="Codehighlighter1_1376_1485_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                CountConstants.CSTACKB </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">false</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                CountConstants.CSTACKA </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">true</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">try</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1516_2176_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1516_2176_Open_Text.style.display='none'; Codehighlighter1_1516_2176_Closed_Image.style.display='inline'; Codehighlighter1_1516_2176_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1516_2176_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1516_2176_Closed_Text.style.display='none'; Codehighlighter1_1516_2176_Open_Image.style.display='inline'; Codehighlighter1_1516_2176_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_1516_2176_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" />
										</span>
										<span id="Codehighlighter1_1516_2176_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">while</span>
												<span style="COLOR: #000000"> (</span>
												<span style="COLOR: #000000">!</span>
												<span style="COLOR: #000000">cArrayStack.isEmpty())<br /><img id="Codehighlighter1_1581_1772_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1581_1772_Open_Text.style.display='none'; Codehighlighter1_1581_1772_Closed_Image.style.display='inline'; Codehighlighter1_1581_1772_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1581_1772_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1581_1772_Closed_Text.style.display='none'; Codehighlighter1_1581_1772_Open_Image.style.display='inline'; Codehighlighter1_1581_1772_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span id="Codehighlighter1_1581_1772_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" />
												</span>
												<span id="Codehighlighter1_1581_1772_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    outEntity </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> (AcceptEntity)cArrayStack.pop();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    saveObj[i] </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> outEntity;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    i</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    outEntity </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #0000ff">null</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                session </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> MailSessionManager.getMailSession();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                EmailEntityManager.batchSave(saveObj,session);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(session</span>
												<span style="COLOR: #000000">!=</span>
												<span style="COLOR: #0000ff">null</span>
												<span style="COLOR: #000000">) session.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">Hibernate.batchSave(saveObj);</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                saveObj </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">null</span>
												<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">System.out.println("Stack [A] pop end!!pop[A]:"+iTempList.length);</span>
												<span style="COLOR: #008000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">                cArrayStack.push(acceptEntity);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">catch</span>
										<span style="COLOR: #000000">(java.util.EmptyStackException ex)<br /><img id="Codehighlighter1_2242_2334_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2242_2334_Open_Text.style.display='none'; Codehighlighter1_2242_2334_Closed_Image.style.display='inline'; Codehighlighter1_2242_2334_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2242_2334_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2242_2334_Closed_Text.style.display='none'; Codehighlighter1_2242_2334_Open_Image.style.display='inline'; Codehighlighter1_2242_2334_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_2242_2334_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" />
										</span>
										<span id="Codehighlighter1_2242_2334_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                System.out.println(</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">Error--&gt;countViewNum()</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000">ex.getMessage());<br /><img id="Codehighlighter1_2342_2407_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2342_2407_Open_Text.style.display='none'; Codehighlighter1_2342_2407_Closed_Image.style.display='inline'; Codehighlighter1_2342_2407_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2342_2407_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2342_2407_Closed_Text.style.display='none'; Codehighlighter1_2342_2407_Open_Image.style.display='inline'; Codehighlighter1_2342_2407_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #0000ff">finally</span>
										<span id="Codehighlighter1_2342_2407_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" />
										</span>
										<span id="Codehighlighter1_2342_2407_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(session</span>
												<span style="COLOR: #000000">!=</span>
												<span style="COLOR: #0000ff">null</span>
												<span style="COLOR: #000000">) session.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000">(Exception ex)<br /><img id="Codehighlighter1_2447_2491_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2447_2491_Open_Text.style.display='none'; Codehighlighter1_2447_2491_Closed_Image.style.display='inline'; Codehighlighter1_2447_2491_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2447_2491_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2447_2491_Closed_Text.style.display='none'; Codehighlighter1_2447_2491_Open_Image.style.display='inline'; Codehighlighter1_2447_2491_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_2447_2491_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" />
								</span>
								<span id="Codehighlighter1_2447_2491_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            ex.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/148192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-26 09:14 <a href="http://www.blogjava.net/wufalong/articles/148192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据统计,栈操作</title><link>http://www.blogjava.net/wufalong/articles/148183.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Wed, 26 Sep 2007 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/148183.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/148183.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/148183.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/148183.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/148183.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"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">栈四个方法分别是:<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">--判断栈是否为空<br /></span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">--获得栈顶数据项而没有删除<br /></span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">--任意数据项入栈<br /></span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">--获得并删除栈顶元素</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    <br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">interface</span>
				<span style="COLOR: #000000"> CountStack <br /></span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_125_276_Open_Image" onclick="this.style.display='none'; Codehighlighter1_125_276_Open_Text.style.display='none'; Codehighlighter1_125_276_Closed_Image.style.display='inline'; Codehighlighter1_125_276_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_125_276_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_125_276_Closed_Text.style.display='none'; Codehighlighter1_125_276_Open_Image.style.display='inline'; Codehighlighter1_125_276_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span>
				<span id="Codehighlighter1_125_276_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" />
				</span>
				<span id="Codehighlighter1_125_276_Open_Text">
						<span style="COLOR: #000000">{ <br /></span>
						<span style="COLOR: #008080"> 9</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">10</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> isEmpty ();<br /></span>
						<span style="COLOR: #008080">11</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Object peek (); <br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> push (Object o); <br /></span>
						<span style="COLOR: #008080">15</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Object pop (); <br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</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" />
						<br />
				</span>
				<span style="COLOR: #008080">19</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">实现接口</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080">20</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">21</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_345_1185_Open_Image" onclick="this.style.display='none'; Codehighlighter1_345_1185_Open_Text.style.display='none'; Codehighlighter1_345_1185_Closed_Image.style.display='inline'; Codehighlighter1_345_1185_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_345_1185_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_345_1185_Closed_Text.style.display='none'; Codehighlighter1_345_1185_Open_Image.style.display='inline'; Codehighlighter1_345_1185_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> CountViewArrayStack </span>
				<span style="COLOR: #0000ff">implements</span>
				<span style="COLOR: #000000"> CountViewStack</span>
				<span id="Codehighlighter1_345_1185_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" />
				</span>
				<span id="Codehighlighter1_345_1185_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" />    <br /></span>
						<span style="COLOR: #008080">23</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> top </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">; <br /></span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">25</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> Object[] stack; <br /></span>
						<span style="COLOR: #008080">26</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">27</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> CountViewArrayStack(</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> maxElements) <br /></span>
						<span style="COLOR: #008080">28</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">29</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_488_546_Open_Image" onclick="this.style.display='none'; Codehighlighter1_488_546_Open_Text.style.display='none'; Codehighlighter1_488_546_Closed_Image.style.display='inline'; Codehighlighter1_488_546_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_488_546_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_488_546_Closed_Text.style.display='none'; Codehighlighter1_488_546_Open_Image.style.display='inline'; Codehighlighter1_488_546_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span id="Codehighlighter1_488_546_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" />
						</span>
						<span id="Codehighlighter1_488_546_Open_Text">
								<span style="COLOR: #000000">{   <br /></span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            stack </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Object[maxElements];<br /></span>
								<span style="COLOR: #008080">31</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000"> <br /></span>
						<span style="COLOR: #008080">32</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">33</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> isEmpty ()<br /></span>
						<span style="COLOR: #008080">34</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_600_640_Open_Image" onclick="this.style.display='none'; Codehighlighter1_600_640_Open_Text.style.display='none'; Codehighlighter1_600_640_Closed_Image.style.display='inline'; Codehighlighter1_600_640_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_600_640_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_600_640_Closed_Text.style.display='none'; Codehighlighter1_600_640_Open_Image.style.display='inline'; Codehighlighter1_600_640_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span id="Codehighlighter1_600_640_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" />
						</span>
						<span id="Codehighlighter1_600_640_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">35</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> top </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">36</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> Object peek() <br /></span>
						<span style="COLOR: #008080">39</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">40</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_694_819_Open_Image" onclick="this.style.display='none'; Codehighlighter1_694_819_Open_Text.style.display='none'; Codehighlighter1_694_819_Closed_Image.style.display='inline'; Codehighlighter1_694_819_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_694_819_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_694_819_Closed_Text.style.display='none'; Codehighlighter1_694_819_Open_Image.style.display='inline'; Codehighlighter1_694_819_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span id="Codehighlighter1_694_819_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" />
						</span>
						<span id="Codehighlighter1_694_819_Open_Text">
								<span style="COLOR: #000000">{ <br /></span>
								<span style="COLOR: #008080">41</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000"> (top </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<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" />            </span>
								<span style="COLOR: #0000ff">throw</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> java.util.EmptyStackException(); <br /></span>
								<span style="COLOR: #008080">43</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> stack[top];<br /></span>
								<span style="COLOR: #008080">44</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</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" />
								<br />
						</span>
						<span style="COLOR: #008080">46</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> push(Object o) <br /></span>
						<span style="COLOR: #008080">47</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">48</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_872_1008_Open_Image" onclick="this.style.display='none'; Codehighlighter1_872_1008_Open_Text.style.display='none'; Codehighlighter1_872_1008_Closed_Image.style.display='inline'; Codehighlighter1_872_1008_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_872_1008_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_872_1008_Closed_Text.style.display='none'; Codehighlighter1_872_1008_Open_Image.style.display='inline'; Codehighlighter1_872_1008_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span id="Codehighlighter1_872_1008_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" />
						</span>
						<span id="Codehighlighter1_872_1008_Open_Text">
								<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" />            </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000"> (top </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> stack.length </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</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" />            </span>
								<span style="COLOR: #0000ff">throw</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> FullViewStackException(); <br /></span>
								<span style="COLOR: #008080">51</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            stack[</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">top] </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> o;<br /></span>
								<span style="COLOR: #008080">52</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</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" />
								<br />
						</span>
						<span style="COLOR: #008080">54</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> Object pop() <br /></span>
						<span style="COLOR: #008080">55</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">56</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_1054_1182_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1054_1182_Open_Text.style.display='none'; Codehighlighter1_1054_1182_Closed_Image.style.display='inline'; Codehighlighter1_1054_1182_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1054_1182_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1054_1182_Closed_Text.style.display='none'; Codehighlighter1_1054_1182_Open_Image.style.display='inline'; Codehighlighter1_1054_1182_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span id="Codehighlighter1_1054_1182_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" />
						</span>
						<span id="Codehighlighter1_1054_1182_Open_Text">
								<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" />            </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000"> (top </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">)  <br /></span>
								<span style="COLOR: #008080">58</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">throw</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> java.util.EmptyStackException(); <br /></span>
								<span style="COLOR: #008080">59</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> stack[top</span>
								<span style="COLOR: #000000">--</span>
								<span style="COLOR: #000000">]; <br /></span>
								<span style="COLOR: #008080">60</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">61</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">62</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/148183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-26 09:04 <a href="http://www.blogjava.net/wufalong/articles/148183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 得到IP地址方法</title><link>http://www.blogjava.net/wufalong/articles/143348.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Fri, 07 Sep 2007 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/143348.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/143348.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/143348.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/143348.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/143348.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"> 1</span>
				<img id="Codehighlighter1_51_563_Open_Image" onclick="this.style.display='none'; Codehighlighter1_51_563_Open_Text.style.display='none'; Codehighlighter1_51_563_Closed_Image.style.display='inline'; Codehighlighter1_51_563_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_51_563_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_51_563_Closed_Text.style.display='none'; Codehighlighter1_51_563_Open_Image.style.display='inline'; Codehighlighter1_51_563_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> String getIp(HttpServletRequest req) </span>
				<span id="Codehighlighter1_51_563_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" />
				</span>
				<span id="Codehighlighter1_51_563_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080"> 2</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        String ip_for </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> req.getHeader(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">x-forwarded-for</span>
						<span style="COLOR: #000000">"</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/InBlock.gif" align="top" />        String ip_client </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> req.getHeader(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">http_client_ip</span>
						<span style="COLOR: #000000">"</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/InBlock.gif" align="top" />        String un </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">unknown</span>
						<span style="COLOR: #000000">"</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/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080"> 6</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (ip_for </span>
						<span style="COLOR: #000000">!=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">null</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">&amp;&amp;</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">!</span>
						<span style="COLOR: #000000">ip_for.equalsIgnoreCase(un)<br /></span>
						<span style="COLOR: #008080"> 7</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_309_346_Open_Image" onclick="this.style.display='none'; Codehighlighter1_309_346_Open_Text.style.display='none'; Codehighlighter1_309_346_Closed_Image.style.display='inline'; Codehighlighter1_309_346_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_309_346_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_309_346_Closed_Text.style.display='none'; Codehighlighter1_309_346_Open_Image.style.display='inline'; Codehighlighter1_309_346_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
						<span style="COLOR: #000000">&amp;&amp;</span>
						<span style="COLOR: #000000"> ip_for.trim().length() </span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">) </span>
						<span id="Codehighlighter1_309_346_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" />
						</span>
						<span id="Codehighlighter1_309_346_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080"> 8</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> ip_for;<br /></span>
								<span style="COLOR: #008080"> 9</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">else</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (ip_client </span>
						<span style="COLOR: #000000">!=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">null</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">&amp;&amp;</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">!</span>
						<span style="COLOR: #000000">ip_client.equalsIgnoreCase(un)<br /></span>
						<span style="COLOR: #008080">10</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_460_500_Open_Image" onclick="this.style.display='none'; Codehighlighter1_460_500_Open_Text.style.display='none'; Codehighlighter1_460_500_Closed_Image.style.display='inline'; Codehighlighter1_460_500_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_460_500_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_460_500_Closed_Text.style.display='none'; Codehighlighter1_460_500_Open_Image.style.display='inline'; Codehighlighter1_460_500_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
						<span style="COLOR: #000000">&amp;&amp;</span>
						<span style="COLOR: #000000"> ip_client.trim().length() </span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">) </span>
						<span id="Codehighlighter1_460_500_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" />
						</span>
						<span id="Codehighlighter1_460_500_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" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> ip_client;<br /></span>
								<span style="COLOR: #008080">12</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_507_557_Open_Image" onclick="this.style.display='none'; Codehighlighter1_507_557_Open_Text.style.display='none'; Codehighlighter1_507_557_Closed_Image.style.display='inline'; Codehighlighter1_507_557_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_507_557_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_507_557_Closed_Text.style.display='none'; Codehighlighter1_507_557_Open_Image.style.display='inline'; Codehighlighter1_507_557_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">else</span>
						<span style="COLOR: #000000"> </span>
						<span id="Codehighlighter1_507_557_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" />
						</span>
						<span id="Codehighlighter1_507_557_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">13</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> req.getRemoteAddr();<br /></span>
								<span style="COLOR: #008080">14</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</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/ExpandedBlockEnd.gif" align="top" />    }</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/143348.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-07 11:15 <a href="http://www.blogjava.net/wufalong/articles/143348.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>记取excel中的邮件地址并发送邮件</title><link>http://www.blogjava.net/wufalong/articles/142288.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Mon, 03 Sep 2007 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/142288.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/142288.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/142288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/142288.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/142288.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1												/** */										/**																										  2														 * 						@author						 wufalong						  3														 * Create on 2007-8-7						  4					...&nbsp;&nbsp;<a href='http://www.blogjava.net/wufalong/articles/142288.html'>阅读全文</a><img src ="http://www.blogjava.net/wufalong/aggbug/142288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-03 14:06 <a href="http://www.blogjava.net/wufalong/articles/142288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java写入excel文件</title><link>http://www.blogjava.net/wufalong/articles/142284.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Mon, 03 Sep 2007 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/142284.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/142284.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/142284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/142284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/142284.html</trackback:ping><description><![CDATA[
		<p>
				<font size="1">要用到poi-2.5.1-final-20040804.jar包</font>
		</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"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.FileOutputStream;<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.sql.Connection;<br /></span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.sql.ResultSet;<br /></span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.sql.ResultSetMetaData;<br /></span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.apache.poi.hssf.usermodel.HSSFCell;<br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.apache.poi.hssf.usermodel.HSSFRow;<br /></span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.apache.poi.hssf.usermodel.HSSFSheet;<br /></span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.apache.poi.hssf.usermodel.HSSFWorkbook;<br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.dom4j.Document;<br /></span>
				<span style="COLOR: #008080">11</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.dom4j.Element;<br /></span>
				<span style="COLOR: #008080">12</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">13</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> wufalong.exportServer.ConnectBean;<br /></span>
				<span style="COLOR: #008080">14</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> wufalong.exportServer.CreateConnection;<br /></span>
				<span style="COLOR: #008080">15</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> wufalong.exportServer.GetResultSet;<br /></span>
				<span style="COLOR: #008080">16</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> wufalong.exportServer.LoadRootElementByConfigFile;<br /></span>
				<span style="COLOR: #008080">17</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> exportxls.JsUserBasicData;<br /></span>
				<span style="COLOR: #008080">18</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">19</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Person20070517<br /></span>
				<span style="COLOR: #008080">20</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_623_3163_Open_Image" onclick="this.style.display='none'; Codehighlighter1_623_3163_Open_Text.style.display='none'; Codehighlighter1_623_3163_Closed_Image.style.display='inline'; Codehighlighter1_623_3163_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_623_3163_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_623_3163_Closed_Text.style.display='none'; Codehighlighter1_623_3163_Open_Image.style.display='inline'; Codehighlighter1_623_3163_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_623_3163_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" />
				</span>
				<span id="Codehighlighter1_623_3163_Open_Text">
						<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" />  </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String args[]) <br /></span>
						<span style="COLOR: #008080">22</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_669_796_Open_Image" onclick="this.style.display='none'; Codehighlighter1_669_796_Open_Text.style.display='none'; Codehighlighter1_669_796_Closed_Image.style.display='inline'; Codehighlighter1_669_796_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_669_796_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_669_796_Closed_Text.style.display='none'; Codehighlighter1_669_796_Open_Image.style.display='inline'; Codehighlighter1_669_796_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span>
						<span id="Codehighlighter1_669_796_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" />
						</span>
						<span id="Codehighlighter1_669_796_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">23</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      Person20070517 c</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Person20070517();<br /></span>
								<span style="COLOR: #008080">24</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> allcount</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">25</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      allcount</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">allcount</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">c.createPersonMobile(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">c:/人才.xls</span>
								<span style="COLOR: #000000">"</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" />  }</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" />  <br /></span>
						<span style="COLOR: #008080">28</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> createPersonMobile(String filename)<br /></span>
						<span style="COLOR: #008080">29</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_852_3161_Open_Image" onclick="this.style.display='none'; Codehighlighter1_852_3161_Open_Text.style.display='none'; Codehighlighter1_852_3161_Closed_Image.style.display='inline'; Codehighlighter1_852_3161_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_852_3161_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_852_3161_Closed_Text.style.display='none'; Codehighlighter1_852_3161_Open_Image.style.display='inline'; Codehighlighter1_852_3161_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span>
						<span id="Codehighlighter1_852_3161_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" />
						</span>
						<span id="Codehighlighter1_852_3161_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      Connection con </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</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/InBlock.gif" align="top" />      ResultSet rs </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">32</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      Document doc </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> LoadRootElementByConfigFile.getRootElement();<br /></span>
								<span style="COLOR: #008080">33</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      Element e </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> doc.getRootElement().element(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">import</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">34</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
								<span style="COLOR: #0000ff">try</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">35</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_1048_2924_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1048_2924_Open_Text.style.display='none'; Codehighlighter1_1048_2924_Closed_Image.style.display='inline'; Codehighlighter1_1048_2924_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_1048_2924_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1048_2924_Closed_Text.style.display='none'; Codehighlighter1_1048_2924_Open_Image.style.display='inline'; Codehighlighter1_1048_2924_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
								<span id="Codehighlighter1_1048_2924_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" />
								</span>
								<span id="Codehighlighter1_1048_2924_Open_Text">
										<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" />            con </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> CreateConnection.getConnect(e);<br /></span>
										<span style="COLOR: #008080">37</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            rs </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> GetResultSet.getResule(con,ConnectBean.getSql(e));<br /></span>
										<span style="COLOR: #008080">38</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          FileOutputStream fOut </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</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" />          HSSFWorkbook workbook </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> HSSFWorkbook();<br /></span>
										<span style="COLOR: #008080">40</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          HSSFSheet sheet </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> workbook.createSheet();<br /></span>
										<span style="COLOR: #008080">41</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          HSSFRow row </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</span>
										<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" />          HSSFCell cell </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">43</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> i </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">1</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/InBlock.gif" align="top" />          </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> writeadd </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</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" />          String  cellvalue </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">""</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" />          JsUserBasicData jub </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> JsUserBasicData();<br /></span>
										<span style="COLOR: #008080">47</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          row </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> sheet.createRow(</span>
										<span style="COLOR: #000000">0</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" />          cell </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> row.createCell((</span>
										<span style="COLOR: #0000ff">short</span>
										<span style="COLOR: #000000">) </span>
										<span style="COLOR: #000000">0</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" />          cell.setCellType(HSSFCell.CELL_TYPE_STRING);<br /></span>
										<span style="COLOR: #008080">50</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          cell.setEncoding(HSSFCell.ENCODING_UTF_16);<br /></span>
										<span style="COLOR: #008080">51</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          cell.setCellValue(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">姓名</span>
										<span style="COLOR: #000000">"</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" />          cell </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> row.createCell((</span>
										<span style="COLOR: #0000ff">short</span>
										<span style="COLOR: #000000">) </span>
										<span style="COLOR: #000000">1</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" />          cell.setCellType(HSSFCell.CELL_TYPE_STRING);<br /></span>
										<span style="COLOR: #008080">54</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          cell.setEncoding(HSSFCell.ENCODING_UTF_16);<br /></span>
										<span style="COLOR: #008080">55</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          cell.setCellValue(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">手机</span>
										<span style="COLOR: #000000">"</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" />          <br /></span>
										<span style="COLOR: #008080">57</span>
										<span style="COLOR: #000000">
												<img id="Codehighlighter1_1959_2615_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1959_2615_Open_Text.style.display='none'; Codehighlighter1_1959_2615_Closed_Image.style.display='inline'; Codehighlighter1_1959_2615_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1959_2615_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1959_2615_Closed_Text.style.display='none'; Codehighlighter1_1959_2615_Open_Image.style.display='inline'; Codehighlighter1_1959_2615_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />          </span>
										<span style="COLOR: #0000ff">while</span>
										<span style="COLOR: #000000"> (rs.next()) </span>
										<span id="Codehighlighter1_1959_2615_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" />
										</span>
										<span id="Codehighlighter1_1959_2615_Open_Text">
												<span style="COLOR: #000000">{<br /></span>
												<span style="COLOR: #008080">58</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
														<br />
												</span>
												<span style="COLOR: #008080">59</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              System.out.println(</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">正在生成第</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> i </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">条记录</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">);<br /></span>
												<span style="COLOR: #008080">60</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              ResultSetMetaData rsmd </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> rs.getMetaData();<br /></span>
												<span style="COLOR: #008080">61</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              row </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> sheet.createRow((</span>
												<span style="COLOR: #0000ff">short</span>
												<span style="COLOR: #000000">) i);<br /></span>
												<span style="COLOR: #008080">62</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              </span>
												<span style="COLOR: #0000ff">int</span>
												<span style="COLOR: #000000"> colcount </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> rsmd.getColumnCount();<br /></span>
												<span style="COLOR: #008080">63</span>
												<span style="COLOR: #000000">
														<img id="Codehighlighter1_2229_2584_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2229_2584_Open_Text.style.display='none'; Codehighlighter1_2229_2584_Closed_Image.style.display='inline'; Codehighlighter1_2229_2584_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_2229_2584_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2229_2584_Closed_Text.style.display='none'; Codehighlighter1_2229_2584_Open_Image.style.display='inline'; Codehighlighter1_2229_2584_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />              </span>
												<span style="COLOR: #0000ff">for</span>
												<span style="COLOR: #000000"> (</span>
												<span style="COLOR: #0000ff">int</span>
												<span style="COLOR: #000000"> icc </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">; icc </span>
												<span style="COLOR: #000000">&lt;</span>
												<span style="COLOR: #000000"> colcount; icc</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">) </span>
												<span id="Codehighlighter1_2229_2584_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" />
												</span>
												<span id="Codehighlighter1_2229_2584_Open_Text">
														<span style="COLOR: #000000">{<br /></span>
														<span style="COLOR: #008080">64</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  cellvalue </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> rs.getString(icc </span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">); <br /></span>
														<span style="COLOR: #008080">65</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  cell </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> row.createCell((</span>
														<span style="COLOR: #0000ff">short</span>
														<span style="COLOR: #000000">) icc);<br /></span>
														<span style="COLOR: #008080">66</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  System.out.println(</span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000">md:</span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000"> cellvalue); <br /></span>
														<span style="COLOR: #008080">67</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  cell.setCellType(HSSFCell.CELL_TYPE_STRING);<br /></span>
														<span style="COLOR: #008080">68</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  cell.setEncoding(HSSFCell.ENCODING_UTF_16);<br /></span>
														<span style="COLOR: #008080">69</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                  cell.setCellValue(cellvalue);<br /></span>
														<span style="COLOR: #008080">70</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />              }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
												</span>
												<span style="COLOR: #008080">71</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              i</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">;<br /></span>
												<span style="COLOR: #008080">72</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />          }</span>
										</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/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">74</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          fOut </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> FileOutputStream(filename);<br /></span>
										<span style="COLOR: #008080">75</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          workbook.write(fOut);<br /></span>
										<span style="COLOR: #008080">76</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          fOut.flush();<br /></span>
										<span style="COLOR: #008080">77</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          fOut.close();<br /></span>
										<span style="COLOR: #008080">78</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          System.out.println(filename </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">文件生成<img src="http://www.blogjava.net/images/dot.gif" />共</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> i </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">条</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /></span>
										<span style="COLOR: #008080">79</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          rs.close();<br /></span>
										<span style="COLOR: #008080">80</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          rs </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">81</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          con.close();<br /></span>
										<span style="COLOR: #008080">82</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          con </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">83</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
										<span style="COLOR: #0000ff">return</span>
										<span style="COLOR: #000000"> i;<br /></span>
										<span style="COLOR: #008080">84</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
								</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000"> (Exception ee) <br /></span>
								<span style="COLOR: #008080">85</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_2954_3025_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2954_3025_Open_Text.style.display='none'; Codehighlighter1_2954_3025_Closed_Image.style.display='inline'; Codehighlighter1_2954_3025_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_2954_3025_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2954_3025_Closed_Text.style.display='none'; Codehighlighter1_2954_3025_Open_Image.style.display='inline'; Codehighlighter1_2954_3025_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
								<span id="Codehighlighter1_2954_3025_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" />
								</span>
								<span id="Codehighlighter1_2954_3025_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">86</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              System.out.println(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">發生了</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> ee.getMessage() </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">例外</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /></span>
										<span style="COLOR: #008080">87</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
								</span>
								<span style="COLOR: #000000"> <br /></span>
								<span style="COLOR: #008080">88</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
								<span style="COLOR: #0000ff">finally</span>
								<span style="COLOR: #000000"> <br /></span>
								<span style="COLOR: #008080">89</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_3049_3142_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3049_3142_Open_Text.style.display='none'; Codehighlighter1_3049_3142_Closed_Image.style.display='inline'; Codehighlighter1_3049_3142_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_3049_3142_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_3049_3142_Closed_Text.style.display='none'; Codehighlighter1_3049_3142_Open_Image.style.display='inline'; Codehighlighter1_3049_3142_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
								<span id="Codehighlighter1_3049_3142_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" />
								</span>
								<span id="Codehighlighter1_3049_3142_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">90</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              GetResultSet.closeResultSet(rs);<br /></span>
										<span style="COLOR: #008080">91</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />              CreateConnection.closeConnect(con);<br /></span>
										<span style="COLOR: #008080">92</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">93</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">94</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />  }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">95</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">96</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/142284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-03 13:56 <a href="http://www.blogjava.net/wufalong/articles/142284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java读取excel文件</title><link>http://www.blogjava.net/wufalong/articles/142239.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Mon, 03 Sep 2007 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/142239.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/142239.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/142239.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/142239.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/142239.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"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">import java.io.FileInputStream;<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import java.io.InputStream;<br /></span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import jxl.Cell;<br /></span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import jxl.Sheet;<br /></span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import jxl.Workbook;<br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />/**<br /></span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> * @author wufalong<br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> * 2007-9-3<br /></span>
				<span style="COLOR: #008080">11</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> */<br /></span>
				<span style="COLOR: #008080">12</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />public class Excel<br /></span>
				<span style="COLOR: #008080">13</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />{<br /></span>
				<span style="COLOR: #008080">14</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    public static void main(String[] args)<br /></span>
				<span style="COLOR: #008080">15</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    {<br /></span>
				<span style="COLOR: #008080">16</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try<br /></span>
				<span style="COLOR: #008080">17</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        {<br /></span>
				<span style="COLOR: #008080">18</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            String sourcefile = "c://test.xls";<br /></span>
				<span style="COLOR: #008080">19</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            InputStream is = new FileInputStream(sourcefile);<br /></span>
				<span style="COLOR: #008080">20</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            jxl.Workbook rwb = Workbook.getWorkbook(is);<br /></span>
				<span style="COLOR: #008080">21</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            //获得总的Sheets，得到sheet的层数<br /></span>
				<span style="COLOR: #008080">22</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            Sheet[] sheets = rwb.getSheets();<br /></span>
				<span style="COLOR: #008080">23</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            int sheetLen = sheets.length;<br /></span>
				<span style="COLOR: #008080">24</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            //获得第一个Sheets 的结果<br /></span>
				<span style="COLOR: #008080">25</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            jxl.Sheet rs = rwb.getSheet(0); <br /></span>
				<span style="COLOR: #008080">26</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            int num = rs.getRows();//得到行数<br /></span>
				<span style="COLOR: #008080">27</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            for(int j=0;j</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">num</span>
				<span style="COLOR: #ff0000">;j++)<br /></span>
				<span style="COLOR: #008080">28</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            {<br /></span>
				<span style="COLOR: #008080">29</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                Cell[] cell </span>
				<span style="COLOR: #0000ff">= rs.getRow(j);//得到第一行的所有值<br /></span>
				<span style="COLOR: #008080">30</span>
				<span style="COLOR: #0000ff">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #ff0000">String value </span>
				<span style="COLOR: #0000ff">= cell[0].getContents();//得到第一行，第一列的值<br /></span>
				<span style="COLOR: #008080">31</span>
				<span style="COLOR: #0000ff">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #ff0000">System.out.println("Values:"+rs.getRow(j)[0].getContents());<br /></span>
				<span style="COLOR: #008080">32</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            }<br /></span>
				<span style="COLOR: #008080">33</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }<br /></span>
				<span style="COLOR: #008080">34</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        catch(Exception ex)<br /></span>
				<span style="COLOR: #008080">35</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        {<br /></span>
				<span style="COLOR: #008080">36</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                ex.printStackTrace();<br /></span>
				<span style="COLOR: #008080">37</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }<br /></span>
				<span style="COLOR: #008080">38</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    }<br /></span>
				<span style="COLOR: #008080">39</span>
				<span style="COLOR: #ff0000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />}</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/142239.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-03 11:23 <a href="http://www.blogjava.net/wufalong/articles/142239.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java记取xml配置文件</title><link>http://www.blogjava.net/wufalong/articles/142229.html</link><dc:creator>crazy</dc:creator><author>crazy</author><pubDate>Mon, 03 Sep 2007 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/wufalong/articles/142229.html</guid><wfw:comment>http://www.blogjava.net/wufalong/comments/142229.html</wfw:comment><comments>http://www.blogjava.net/wufalong/articles/142229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wufalong/comments/commentRss/142229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wufalong/services/trackbacks/142229.html</trackback:ping><description><![CDATA[
		<p>需要用到commons-logging-1.0.4.jar，dom4j-1.4.jar包</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"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">import java.io.File;<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import java.io.IOException;<br /></span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.apache.commons.logging.Log;<br /></span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.apache.commons.logging.LogFactory;<br /></span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.dom4j.Document;<br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.dom4j.io.SAXReader;<br /></span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />/**<br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> * @author wufalong<br /></span>
				<span style="COLOR: #008080">11</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> *<br /></span>
				<span style="COLOR: #008080">12</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> * TODO To change the template for this generated type comment go to<br /></span>
				<span style="COLOR: #008080">13</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> * Window - Preferences - Java - Code Style - Code Templates<br /></span>
				<span style="COLOR: #008080">14</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> */<br /></span>
				<span style="COLOR: #008080">15</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />public class LoadRootElementByConfigFile {<br /></span>
				<span style="COLOR: #008080">16</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    private static Log log = LogFactory.getLog(LoadRootElementByConfigFile.class);<br /></span>
				<span style="COLOR: #008080">17</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    public static Document getRootElement(){<br /></span>
				<span style="COLOR: #008080">18</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        String path="";<br /></span>
				<span style="COLOR: #008080">19</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        File file = new File(".");<br /></span>
				<span style="COLOR: #008080">20</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try<br /></span>
				<span style="COLOR: #008080">21</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        {<br /></span>
				<span style="COLOR: #008080">22</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            path = file.getCanonicalPath();<br /></span>
				<span style="COLOR: #008080">23</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }<br /></span>
				<span style="COLOR: #008080">24</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        catch (IOException e)<br /></span>
				<span style="COLOR: #008080">25</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        {<br /></span>
				<span style="COLOR: #008080">26</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            e.printStackTrace();<br /></span>
				<span style="COLOR: #008080">27</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }<br /></span>
				<span style="COLOR: #008080">28</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">29</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        Document document = null;<br /></span>
				<span style="COLOR: #008080">30</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        String filePath = "";<br /></span>
				<span style="COLOR: #008080">31</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try{ <br /></span>
				<span style="COLOR: #008080">32</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            filePath = path+"/config.xml";<br /></span>
				<span style="COLOR: #008080">33</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            File f = new File(filePath);  //服务器运行目录<br /></span>
				<span style="COLOR: #008080">34</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            SAXReader reader = new SAXReader();<br /></span>
				<span style="COLOR: #008080">35</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            document = reader.read(f);<br /></span>
				<span style="COLOR: #008080">36</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }catch(Exception e){ <br /></span>
				<span style="COLOR: #008080">37</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            filePath = path+"/src/config.xml";<br /></span>
				<span style="COLOR: #008080">38</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            File f = new File(filePath); //eclipse调试目录<br /></span>
				<span style="COLOR: #008080">39</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            SAXReader reader = new SAXReader();<br /></span>
				<span style="COLOR: #008080">40</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            try{<br /></span>
				<span style="COLOR: #008080">41</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                document = reader.read(f);<br /></span>
				<span style="COLOR: #008080">42</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            }catch(Exception ex){<br /></span>
				<span style="COLOR: #008080">43</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                <br /></span>
				<span style="COLOR: #008080">44</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            }<br /></span>
				<span style="COLOR: #008080">45</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        }<br /></span>
				<span style="COLOR: #008080">46</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        log.info("配置文件路径:"+filePath);<br /></span>
				<span style="COLOR: #008080">47</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        return document;    <br /></span>
				<span style="COLOR: #008080">48</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    }<br /></span>
				<span style="COLOR: #008080">49</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />}</span>
		</div>
<img src ="http://www.blogjava.net/wufalong/aggbug/142229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wufalong/" target="_blank">crazy</a> 2007-09-03 10:59 <a href="http://www.blogjava.net/wufalong/articles/142229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>