﻿<?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-anchor110-文章分类-java语言相关</title><link>http://www.blogjava.net/anchor110/category/45626.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 20 Apr 2018 16:02:40 GMT</lastBuildDate><pubDate>Fri, 20 Apr 2018 16:02:40 GMT</pubDate><ttl>60</ttl><item><title>org.apache.axiom.om.OMException: No meta factory found for feature 'default';错误解决办法</title><link>http://www.blogjava.net/anchor110/articles/433158.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 17 Apr 2018 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/433158.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/433158.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/433158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/433158.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/433158.html</trackback:ping><description><![CDATA[<div>Exception in thread "main" org.apache.axiom.om.OMException: No meta factory found for feature 'default'; this usually means that axiom-impl.jar is not in the classpath<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:170)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:135)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:184)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axis2.description.AxisDescription.&lt;init&gt;(AxisDescription.java:72)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axis2.description.AxisService.&lt;init&gt;(AxisService.java:323)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.axis2.description.AxisService.&lt;init&gt;(AxisService.java:394)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.ailk.boss.external.ws.External2Oss_PortTypeServiceStub.populateAxisService(External2Oss_PortTypeServiceStub.java:41)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.ailk.boss.external.ws.External2Oss_PortTypeServiceStub.&lt;init&gt;(External2Oss_PortTypeServiceStub.java:88)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.ailk.boss.external.ws.External2Oss_PortTypeServiceStub.&lt;init&gt;(External2Oss_PortTypeServiceStub.java:77)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.ailk.boss.external.ws.External2Oss_PortTypeServiceStub.&lt;init&gt;(External2Oss_PortTypeServiceStub.java:123)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at WooEquipmentSend.send2Esb(WooEquipmentSend.java:20)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at WooPPPoEServiceTest.testGetPPPoEAndSettings(WooPPPoEServiceTest.java:32)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at WooPPPoEServiceTest.main(WooPPPoEServiceTest.java:18)</div><br />解决办法：<br />1、将系统依赖的以下三个jar包版本从1.2.13替换为1.2.12即可：<br /><div>axiom-api-1.2.12.jar<br /><div>axiom-dom-1.2.12.jar</div>axiom-impl-1.2.12.jar<br /></div><img src ="http://www.blogjava.net/anchor110/aggbug/433158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2018-04-17 20:14 <a href="http://www.blogjava.net/anchor110/articles/433158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Error occurred during initialization of VM  java/lang/NoClassDefFoundError: java/lang/Object</title><link>http://www.blogjava.net/anchor110/articles/395110.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Mon, 04 Feb 2013 07:38:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/395110.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/395110.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/395110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/395110.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/395110.html</trackback:ping><description><![CDATA[某天登录服务器的时候，运行命令：java -version，报如下错误：<br /><div><p>Error occurred during initialization of VM</p> <p>java/lang/NoClassDefFoundError: java/lang/Object</p></div><br />问题原因是：jre/lib目录下，缺少rt.jar文件。<br /><br />解决办法：去别的服务器上拷贝rt.jar即可。<img src ="http://www.blogjava.net/anchor110/aggbug/395110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2013-02-04 15:38 <a href="http://www.blogjava.net/anchor110/articles/395110.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Caused by: java.lang.NoClassDefFoundError: com/sun/xml/bind/CycleRecoverable</title><link>http://www.blogjava.net/anchor110/articles/391408.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 15 Nov 2012 20:53:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/391408.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/391408.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/391408.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/391408.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/391408.html</trackback:ping><description><![CDATA[解决步骤：<br />1、将jaxb-impl-2.1.12.jar和jaxb-api-2.1.jar放到jre/lib/endorsed/目录下，如果没有endorsed目录，则新建之，一般情况下是没有的。<br />2、将jaxb-impl-2.1.12.jar和jaxb-api-2.1.jar放到$TOMCAT_HOME/lib/endorsed/目录下，如果没有endorsed目录，则新建之，一般情况下是没有的。<img src ="http://www.blogjava.net/anchor110/aggbug/391408.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-11-16 04:53 <a href="http://www.blogjava.net/anchor110/articles/391408.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CountDownLatch的使用（注：转载于http://www.blogjava.net/fanjs2000/archive/2012/10/31/390521.html）</title><link>http://www.blogjava.net/anchor110/articles/390549.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Wed, 31 Oct 2012 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/390549.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/390549.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/390549.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/390549.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/390549.html</trackback:ping><description><![CDATA[<div>CountDownLatch如其所写，是一个倒计数的锁存器，当计数减至0时触发特定的事件。利用这种特性，可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。</div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.concurrent.CountDownLatch;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.concurrent.ExecutorService;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.concurrent.Executors;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Test&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;PLAYER_AMOUNT&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">5</span><span style="color: #000000; ">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">对于每位运动员，CountDownLatch减1后即结束比赛</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CountDownLatch&nbsp;begin&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;CountDownLatch(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">对于整个比赛，所有运动员结束后才算结束</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CountDownLatch&nbsp;end&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;CountDownLatch(PLAYER_AMOUNT);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player[]&nbsp;plays&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Player[PLAYER_AMOUNT];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;PLAYER_AMOUNT;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plays[i]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Player(i&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,&nbsp;begin,&nbsp;end);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">设置特定的线程池，大小为5</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExecutorService&nbsp;exe&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Executors.newFixedThreadPool(PLAYER_AMOUNT);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(Player&nbsp;p&nbsp;:&nbsp;plays)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exe.execute(p);&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">分配线程</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin.countDown();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Race&nbsp;begins!</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end.await();&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">等待end状态变为0，即为比赛结束</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(InterruptedException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO:&nbsp;handle&nbsp;exception</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">finally</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Race&nbsp;ends!</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exe.shutdown();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Player&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;Runnable&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;CountDownLatch&nbsp;begin;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;CountDownLatch&nbsp;end;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Player(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i,&nbsp;CountDownLatch&nbsp;begin,&nbsp;CountDownLatch&nbsp;end)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;constructor&nbsp;stub</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">super</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.id&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.begin&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;begin;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.end&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;end;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;run()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin.await();&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">等待begin的状态为0</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep((</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">)&nbsp;(Math.random()&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">100</span><span style="color: #000000; ">));&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">随机分配时间，即运动员完成时间</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Play</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;id&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;arrived.</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(InterruptedException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO:&nbsp;handle&nbsp;exception</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">finally</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end.countDown();&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">使end状态减1，最终减至0</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><img src ="http://www.blogjava.net/anchor110/aggbug/390549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-10-31 17:19 <a href="http://www.blogjava.net/anchor110/articles/390549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>synchronized(this)  解释</title><link>http://www.blogjava.net/anchor110/articles/388699.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 27 Sep 2012 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/388699.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/388699.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/388699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/388699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/388699.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> DemoThread </span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;Runnable&nbsp;{<br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;run()&nbsp;{<br /></span><span style="color: #0000FF; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; synchronized</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">请问这里的this怎样理解，t1和t2的地址不是不一样嘛，怎么会只有一个线程运行？？？</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">5</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(Thread.currentThread().getName()&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;synchronized&nbsp;loop&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;i);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br /><br /></span><span style="color: #0000FF; ">&nbsp;&nbsp;&nbsp; public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DemoThread t1&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> DemoThread();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thread&nbsp;ta&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Thread(t1,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">A</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thread&nbsp;tb&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Thread(t1,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">B</span><span style="color: #000000; ">"</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ta.start();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tb.start();&nbsp;<br />&nbsp;&nbsp;&nbsp; } <br />}<br /><br /><br /><div><pre id="best-answer-content"  mb10"="" data-accusearea="aContent">    解释：<br />    这里的this是指当前对象,也就是说不管ta还是tb,刚开始运行这段代码的时候会给这段代码加个锁,这样即使运行到中间被替换了,<br />另一个线程也不会执行这段代码,因为这段代码加锁了,而钥匙在给代码加锁的那个线程手里,只有加锁的线程运行完这段代码,才会给代码解锁.<br />然后其他线程才能执行这段代码..  加个synchronized(this)以后运行结果是这样: <br />A synchronized loop 0 <br />A synchronized loop 1 <br />A synchronized loop 2 <br />A synchronized loop 3 <br />A synchronized loop 4 <br />B synchronized loop 0 <br />B synchronized loop 1 <br />B synchronized loop 2 <br />B synchronized loop 3 <br />B synchronized loop 4  <br /><br />不加的话是这样:(顺序乱了,有好多种结果,这里只是其中一种).. <br />A synchronized loop 0 <br />B synchronized loop 0 <br />A synchronized loop 1 <br />B synchronized loop 1 <br />A synchronized loop 2 <br />B synchronized loop 2 <br />A synchronized loop 3 <br />B synchronized loop 3 <br />B synchronized loop 4 <br />A synchronized loop 4<br /><br /><br /><br /><br /></pre></div></span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</div><img src ="http://www.blogjava.net/anchor110/aggbug/388699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-09-27 16:03 <a href="http://www.blogjava.net/anchor110/articles/388699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java线程运行机制</title><link>http://www.blogjava.net/anchor110/articles/379874.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sun, 03 Jun 2012 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/379874.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/379874.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/379874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/379874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/379874.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/anchor110/articles/379874.html'>阅读全文</a><img src ="http://www.blogjava.net/anchor110/aggbug/379874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-06-03 22:09 <a href="http://www.blogjava.net/anchor110/articles/379874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Arrays.asList使用</title><link>http://www.blogjava.net/anchor110/articles/362588.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 03 Nov 2011 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/362588.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/362588.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/362588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/362588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/362588.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">String[]&nbsp;strings&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">xujiaolin</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">chengsk</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">caisiming</span><span style="color: #000000; ">"</span><span style="color: #000000; ">};<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">String</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;list&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Arrays.asList(strings);<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">System.out.println(list.size());</span></div><img src ="http://www.blogjava.net/anchor110/aggbug/362588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-11-03 10:18 <a href="http://www.blogjava.net/anchor110/articles/362588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java final关键解释</title><link>http://www.blogjava.net/anchor110/articles/362585.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 03 Nov 2011 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/362585.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/362585.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/362585.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/362585.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/362585.html</trackback:ping><description><![CDATA[final在JAVA中，标识一个对象，不可改变。<br /><br />解释如下：<br />1、如果此对象指向一个常量：<br />&nbsp;&nbsp;&nbsp;&nbsp; 例如：final int a = 100;那么a的值永远是100。<br />&nbsp;&nbsp;&nbsp;&nbsp; 后续如果重新赋值，将会报编译错误：a = 200;<br /><br />2、如果此对象指向一个变量：<br />&nbsp;&nbsp;&nbsp;&nbsp; 例如：final User admin = new User("administrator");那么代表admin这个对象引用不可改变。但是却可以改变他的属性值。<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 以下语句编译正确：<br />&nbsp;&nbsp;&nbsp;&nbsp; admin.setName("admin");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; 以下语句编译错误：<br />&nbsp;&nbsp;&nbsp;&nbsp; admin = new User("zhangsan");<img src ="http://www.blogjava.net/anchor110/aggbug/362585.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-11-03 10:02 <a href="http://www.blogjava.net/anchor110/articles/362585.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HttpUrlConnection通过代理访问网络（转：http://www.iteye.com/problems/38978）</title><link>http://www.blogjava.net/anchor110/articles/360413.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Mon, 10 Oct 2011 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/360413.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/360413.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/360413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/360413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/360413.html</trackback:ping><description><![CDATA[<div><ol start="1"><li><span>import&nbsp;java.io.IOException;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.io.InputStream;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.InetSocketAddress;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.MalformedURLException;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.Proxy;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.ProxySelector;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.SocketAddress;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.URI;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.URISyntaxException;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.URL;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.net.URLConnection;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.util.List;&nbsp;&nbsp;&nbsp;</span></li><li><span>import&nbsp;java.util.Properties;&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li><span>public&nbsp;class&nbsp;NetProxy&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>//&nbsp;测试本地JVM的网络缺省配置&nbsp;&nbsp;&nbsp;</span></li><li><span>public&nbsp;void&nbsp;setLocalProxy()&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>Properties&nbsp;prop&nbsp;=&nbsp;System.getProperties();&nbsp;&nbsp;&nbsp;</li><li><span>//设置http访问要使用的代理服务器的地址&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"http.proxyHost",&nbsp;"10.10.0.96");&nbsp;&nbsp;&nbsp;</span></li><li><span>//设置http访问要使用的代理服务器的端口&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"http.proxyPort",&nbsp;"8080");&nbsp;&nbsp;&nbsp;</span></li><li><span>//设置不需要通过代理服务器访问的主机，可以使用*通配符，多个地址用|分隔&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"http.nonProxyHosts",&nbsp;"localhost|10.10.*");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li><span>//设置安全访问使用的代理服务器地址与端口&nbsp;&nbsp;&nbsp;</span></li><li><span>//它没有https.nonProxyHosts属性，它按照http.nonProxyHosts&nbsp;中设置的规则访问&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"https.proxyHost",&nbsp;"10.10.0.96");&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"https.proxyPort",&nbsp;"443");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li><span>//使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"ftp.proxyHost",&nbsp;"10.10.0.96");&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"ftp.proxyPort",&nbsp;"2121");&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"ftp.nonProxyHosts",&nbsp;"localhost|10.10.*");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li><span>//socks代理服务器的地址与端口&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"socksProxyHost",&nbsp;"10.10.0.96");&nbsp;&nbsp;&nbsp;</span></li><li>prop.setProperty(<span>"socksProxyPort",&nbsp;"1080");&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>//&nbsp;清除proxy设置&nbsp;&nbsp;&nbsp;</span></li><li><span>public&nbsp;void&nbsp;removeLocalProxy()&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>Properties&nbsp;prop&nbsp;=&nbsp;System.getProperties();&nbsp;&nbsp;&nbsp;</li><li>prop.remove(<span>"http.proxyHost");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"http.proxyPort");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"http.nonProxyHosts");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>prop.remove(<span>"https.proxyHost");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"https.proxyPort");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>prop.remove(<span>"ftp.proxyHost");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"ftp.proxyPort");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"ftp.nonProxyHosts");&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>prop.remove(<span>"socksProxyHost");&nbsp;&nbsp;&nbsp;</span></li><li>prop.remove(<span>"socksProxyPort");&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>//&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li><span>//&nbsp;测试http&nbsp;&nbsp;&nbsp;</span></li><li><span>public&nbsp;void&nbsp;showHttpProxy(Object...&nbsp;proxy)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>URL&nbsp;url&nbsp;=&nbsp;<span>null;&nbsp;&nbsp;&nbsp;</span></li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>url&nbsp;=&nbsp;<span>new&nbsp;URL("http://blog.csdn.com/smallnest");&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(MalformedURLException&nbsp;e)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>return;&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>URLConnection&nbsp;conn&nbsp;=&nbsp;<span>null;&nbsp;&nbsp;&nbsp;</span></li><li><span>switch&nbsp;(proxy.length)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>case&nbsp;0:&nbsp;&nbsp;&nbsp;</span></li><li>conn&nbsp;=&nbsp;url.openConnection();&nbsp;&nbsp;&nbsp;</li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li><span>case&nbsp;1:&nbsp;&nbsp;&nbsp;</span></li><li>conn&nbsp;=&nbsp;url.openConnection((Proxy)&nbsp;proxy[<span>0]);&nbsp;&nbsp;&nbsp;</span></li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li><span>default:&nbsp;&nbsp;&nbsp;</span></li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>if&nbsp;(conn&nbsp;==&nbsp;null)&nbsp;&nbsp;&nbsp;</span></li><li><span>return;&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>conn.setConnectTimeout(<span>3000);&nbsp;//&nbsp;设置连接超时时间&nbsp;&nbsp;&nbsp;</span></li><li>InputStream&nbsp;in&nbsp;=&nbsp;conn.getInputStream();&nbsp;&nbsp;&nbsp;</li><li><span>byte[]&nbsp;b&nbsp;=&nbsp;new&nbsp;byte[1024];&nbsp;&nbsp;&nbsp;</span></li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>while&nbsp;(in.read(b)&nbsp;&gt;&nbsp;0)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>System.out.println(<span>new&nbsp;String(b));&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(IOException&nbsp;e1)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(IOException&nbsp;e1)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>e1.printStackTrace();&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>//&nbsp;测试ftp&nbsp;&nbsp;&nbsp;</span></li><li><span>public&nbsp;void&nbsp;showFtpProxy(Object...&nbsp;proxy)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>URL&nbsp;url&nbsp;=&nbsp;<span>null;&nbsp;&nbsp;&nbsp;</span></li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>url&nbsp;=&nbsp;<span>new&nbsp;URL("ftp://ftp.tsinghua.edu.cn");&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(MalformedURLException&nbsp;e)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>return;&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>URLConnection&nbsp;conn&nbsp;=&nbsp;<span>null;&nbsp;&nbsp;&nbsp;</span></li><li><span>switch&nbsp;(proxy.length)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>case&nbsp;0:&nbsp;&nbsp;&nbsp;</span></li><li>conn&nbsp;=&nbsp;url.openConnection();&nbsp;&nbsp;&nbsp;</li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li><span>case&nbsp;1:&nbsp;&nbsp;&nbsp;</span></li><li>conn&nbsp;=&nbsp;url.openConnection((Proxy)&nbsp;proxy[<span>0]);&nbsp;&nbsp;&nbsp;</span></li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li><span>default:&nbsp;&nbsp;&nbsp;</span></li><li><span>break;&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>if&nbsp;(conn&nbsp;==&nbsp;null)&nbsp;&nbsp;&nbsp;</span></li><li><span>return;&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>conn.setConnectTimeout(<span>3000);&nbsp;//&nbsp;设置连接超时时间&nbsp;&nbsp;&nbsp;</span></li><li>InputStream&nbsp;in&nbsp;=&nbsp;conn.getInputStream();&nbsp;&nbsp;&nbsp;</li><li><span>byte[]&nbsp;b&nbsp;=&nbsp;new&nbsp;byte[1024];&nbsp;&nbsp;&nbsp;</span></li><li><span>try&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li><span>while&nbsp;(in.read(b)&nbsp;&gt;&nbsp;0)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>System.out.println(<span>new&nbsp;String(b));&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(IOException&nbsp;e1)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li><span>catch&nbsp;(IOException&nbsp;e1)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>e1.printStackTrace();&nbsp;&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>//&nbsp;得到一个proxy&nbsp;&nbsp;&nbsp;</span></li><li><span>public&nbsp;Proxy&nbsp;getProxy(Proxy.Type&nbsp;type,&nbsp;String&nbsp;host,&nbsp;int&nbsp;port)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>SocketAddress&nbsp;addr&nbsp;=&nbsp;<span>new&nbsp;InetSocketAddress(host,port);&nbsp;&nbsp;&nbsp;</span></li><li>Proxy&nbsp;typeProxy&nbsp;=&nbsp;<span>new&nbsp;Proxy(type,&nbsp;addr);&nbsp;&nbsp;&nbsp;</span></li><li><span>return&nbsp;typeProxy;&nbsp;&nbsp;&nbsp;</span></li><li>}&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;&nbsp;&nbsp;</span></li><li>{&nbsp;&nbsp;&nbsp;</li><li>NetProxy&nbsp;proxy&nbsp;=&nbsp;<span>new&nbsp;NetProxy();&nbsp;&nbsp;&nbsp;</span></li><li><span>//测试代理服务器&nbsp;&nbsp;&nbsp;</span></li><li>proxy.setLocalProxy();&nbsp;&nbsp;&nbsp;</li><li>proxy.showHttpProxy();&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li><span>//下面两行是清除系统属性，而通过Proxy类指定代理服务器&nbsp;&nbsp;&nbsp;</span></li><li><span>//&nbsp;proxy.removeLocalProxy&nbsp;&nbsp;&nbsp;</span></li><li><span>//proxy.showHttpProxy(proxy.getProxy(Proxy.Type.SOCKS,"10.10.0.96",1080));&nbsp;&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>}&nbsp;&nbsp;&nbsp;</li><li>}&nbsp; <br /></li></ol></div><img src ="http://www.blogjava.net/anchor110/aggbug/360413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-10-10 17:52 <a href="http://www.blogjava.net/anchor110/articles/360413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.net.ProtocolException</title><link>http://www.blogjava.net/anchor110/articles/355875.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Fri, 05 Aug 2011 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/355875.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/355875.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/355875.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/355875.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/355875.html</trackback:ping><description><![CDATA[描述：<br />做android登录功能时，向服务器发送一个登录验证请求，利用的通信是自己包装的http通信类，里面有代码如下：<br /><div>URL url = new URL(reqAddress);<br />HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />conn.setConnectTimeout(5000);<br />conn.setReadTimeout(6000);</div><div><span style="color: #ff0000;">conn.setRequestMethod("post");</span><br /><br />一运行，logcat报错如下：<br /><div>java.net.ProtocolException</div><br /><br />解决办法：<br />修改<span style="color: #ff0000;">post</span>为大写POST。<br /><br />说明：<br /><div><p>httpURLConnection.setRequestMethod("POST");</p><p>setRequestMethod方法的参数值必须大写,例如GET,POST等.</p></div><br /></div><img src ="http://www.blogjava.net/anchor110/aggbug/355875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-08-05 15:53 <a href="http://www.blogjava.net/anchor110/articles/355875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat日志红色问题解决办法</title><link>http://www.blogjava.net/anchor110/articles/355732.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 04 Aug 2011 02:43:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/355732.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/355732.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/355732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/355732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/355732.html</trackback:ping><description><![CDATA[<div>在eclipse中启动tomcat时，在console中输出的日志信息为红色，但其实程序并没有错误。<br /><br />原因是：tomcat默认的日志输出按jdk中的System.err来输出，而System.err在eclipse中，以红色显示。<br /><br />解决办法：<br />Eclipse 中 System.err 的显示颜色可以通过 Window --&gt; Preference --&gt; Run/Debug --&gt; Console 的 Standard Error text color 进行更改。<br /><br />JDK  日志具体的输出处理类需要在 %JRE_HOME%/lib/logging.properties 配置的 handlers 指定，可以使用  System.out 重写一个 java.util.logging.ConsoleHandler 配置进去就可以了。</div><img src ="http://www.blogjava.net/anchor110/aggbug/355732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-08-04 10:43 <a href="http://www.blogjava.net/anchor110/articles/355732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java获得一个字符的Ascii值</title><link>http://www.blogjava.net/anchor110/articles/353702.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 05 Jul 2011 05:04:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/353702.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/353702.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/353702.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/353702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/353702.html</trackback:ping><description><![CDATA[char a = 'a';<br />int aAscii = a;<br />System.out.println(aAscii);<img src ="http://www.blogjava.net/anchor110/aggbug/353702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-07-05 13:04 <a href="http://www.blogjava.net/anchor110/articles/353702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.net.SocketException: Unexpected end of file from server</title><link>http://www.blogjava.net/anchor110/articles/348867.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sat, 23 Apr 2011 07:28:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/348867.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/348867.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/348867.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/348867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/348867.html</trackback:ping><description><![CDATA[在调接口程序的时候，突然报错：<br />
java.net.SocketException: Unexpected end of file from server<br />
&nbsp;at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:741)<br />
&nbsp;at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:604)<br />
&nbsp;at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:738)<br />
&nbsp;at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:604)<br />
&nbsp;at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:961)<br />
<br />
莫名奇妙，明明头天在公司是可以用的。<br />
在网上搜索了一下，说可能是网络限制造成的。我结合自己所在网络的情况，发觉是有这情况。把网络改成跟外面一样的后，问题解决。<br />
<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/348867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-04-23 15:28 <a href="http://www.blogjava.net/anchor110/articles/348867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用java实现网络传输数据的压缩（来源网络）</title><link>http://www.blogjava.net/anchor110/articles/348441.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sun, 17 Apr 2011 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/348441.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/348441.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/348441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/348441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/348441.html</trackback:ping><description><![CDATA[import &nbsp; java.io.*; <br />
import &nbsp; java.util.zip.*; <br />
<br />
public &nbsp; class &nbsp; GZIProc &nbsp; { <br />
&nbsp;  &nbsp; public &nbsp; static &nbsp; void &nbsp; main(String[] &nbsp; args) &nbsp; { <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; byte[] &nbsp; b1 &nbsp; ,b2 &nbsp; = &nbsp; null; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; try &nbsp; { <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; BufferedInputStream &nbsp; in &nbsp; = &nbsp; new &nbsp; BufferedInputStream( &nbsp; new &nbsp; FileInputStream(args[0])); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; ByteArrayOutputStream &nbsp; bout &nbsp; = &nbsp; new &nbsp; ByteArrayOutputStream(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; GZIPOutputStream &nbsp; out &nbsp; = &nbsp; new &nbsp; GZIPOutputStream(bout); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; ObjectOutputStream &nbsp; oout &nbsp; = &nbsp; new &nbsp; ObjectOutputStream(out); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 读取源文件 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; b1 &nbsp; = &nbsp; new &nbsp; byte[in.available()]; &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; in.read(b1,0,b1.length); &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; System.out.println( "压缩前:\n " &nbsp; + &nbsp; new &nbsp; String(b1)); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 压缩 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; //out.write(b1,0, &nbsp; b1.length); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; oout.writeObject(new &nbsp; String(b1)); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; oout.flush(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; oout.close(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 读取压缩字节流 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; b2 &nbsp; = &nbsp; bout.toByteArray(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; System.out.println( "压缩后:\n " &nbsp; + &nbsp; new &nbsp; String(b2)); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 关闭数据流 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; in.close(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 解压 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; ObjectInputStream &nbsp; in2 &nbsp; = &nbsp; new &nbsp;
ObjectInputStream(new &nbsp; GZIPInputStream(new &nbsp;
ByteArrayInputStream(b2))); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; byte[] &nbsp; b3 &nbsp; = &nbsp; ((String)in2.readObject()).getBytes(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; in2.close(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; // &nbsp; 输出 <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; System.out.println( &nbsp; new &nbsp; String(b3)); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; } &nbsp; catch(Exception &nbsp; e) &nbsp; { <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; e.printStackTrace(); <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; } <br />
&nbsp;  &nbsp; } <br />
} <br />
<img src ="http://www.blogjava.net/anchor110/aggbug/348441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-04-17 15:59 <a href="http://www.blogjava.net/anchor110/articles/348441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java将InputStream转为byte数组的方法</title><link>http://www.blogjava.net/anchor110/articles/343500.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 25 Jan 2011 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/343500.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/343500.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/343500.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/343500.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/343500.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">ByteArrayOutputStream&nbsp;baos&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ByteArrayOutputStream();<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;len&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">[]&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">[</span><span style="color: #000000;">1024</span><span style="color: #000000;">];<br />
</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;((len&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;is.read(b,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;b.length))&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; baos.write(b,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;len);<br />
}<br />
</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">[]&nbsp;buffer&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;&nbsp;baos.toByteArray();</span></div>
<img src ="http://www.blogjava.net/anchor110/aggbug/343500.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-01-25 14:44 <a href="http://www.blogjava.net/anchor110/articles/343500.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.net.URL处理中文URL，导致java.io.FileNotFoundException</title><link>http://www.blogjava.net/anchor110/articles/342456.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 06 Jan 2011 13:57:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/342456.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/342456.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/342456.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/342456.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/342456.html</trackback:ping><description><![CDATA[描述：<br />
&nbsp;&nbsp;&nbsp; URL url = new URL("http://***/中国.doc");<br />
&nbsp;&nbsp;&nbsp; HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />
&nbsp;&nbsp;&nbsp; 执行以上代码时，会报java.io.FileNotFoundException异常。<br />
&nbsp;&nbsp;&nbsp; 经查，发现是url地址含中文问题导致的。<br />
<br />
解决办法：<br />
&nbsp;&nbsp;&nbsp; 对中文部分进行encode,具体如下：<br />
&nbsp;&nbsp;&nbsp; URL url = new URL("http://***/" + java.net.URLEncoder.encode("中国") + ".doc");<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/342456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-01-06 21:57 <a href="http://www.blogjava.net/anchor110/articles/342456.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA解析XML字符串</title><link>http://www.blogjava.net/anchor110/articles/342312.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 04 Jan 2011 13:57:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/342312.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/342312.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/342312.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/342312.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/342312.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">DocumentBuilderFactory&nbsp;docBuilderFactory&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">DocumentBuilder&nbsp;docBuilder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">Document&nbsp;doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">docBuilderFactory&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DocumentBuilderFactory.newInstance();<br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">docBuilder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;docBuilderFactory.newDocumentBuilder();<br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #000000;">InputStream&nbsp;inputStream&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ByteArrayInputStream(xml.getBytes());</span><span style="color: #008000;">//</span><span style="color: #008000;">xml为要解析的字符串</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">7</span>&nbsp;<span style="color: #000000;">doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;docBuilder.parse(inputStream);</span></div>
<img src ="http://www.blogjava.net/anchor110/aggbug/342312.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-01-04 21:57 <a href="http://www.blogjava.net/anchor110/articles/342312.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>16进制字符串转换成数字类型</title><link>http://www.blogjava.net/anchor110/articles/342168.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sun, 02 Jan 2011 11:57:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/342168.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/342168.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/342168.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/342168.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/342168.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Test&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">0x40</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(s.replaceAll(</span><span style="color: #000000;">"</span><span style="color: #000000;">^0[x|X]</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">),&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println((</span><span style="color: #0000ff;">char</span><span style="color: #000000;">)b);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}</span></div>
<img src ="http://www.blogjava.net/anchor110/aggbug/342168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-01-02 19:57 <a href="http://www.blogjava.net/anchor110/articles/342168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中使用MD5加密算法进行加密(注：转载于http://school.cfan.com.cn/pro/java/2007-06-11/1181531460d67777.shtml)</title><link>http://www.blogjava.net/anchor110/articles/341737.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 28 Dec 2010 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/341737.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/341737.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/341737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/341737.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/341737.html</trackback:ping><description><![CDATA[在各种应用系统的开发中，经常需要存储用户信息，很多地方都要存储用户密码，而将用户密码直接存储在服务器上显然是不安全的，本文简要介绍工作中常用的 MD5加密算法，希望能抛砖引玉。
<p>&nbsp;&nbsp;&nbsp; <strong>（一）消息摘要简介</strong></p>
<p>&nbsp;&nbsp;&nbsp;
一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算，产生一个唯一指印（对于SHA1是产生一个20字节的二进制数组）。消息
摘要是一种与消息认证码结合使用以确保消息完整性的技术。主要使用单向散列函数算法，可用于检验消息的完整性，和通过散列密码直接以文本形式保存等，目前
广泛使用的算法有MD4、MD5、SHA-1.</p>
<p>&nbsp;&nbsp;&nbsp; 消息摘要有两个基本属性：</p>
<p>&nbsp;&nbsp;&nbsp; 两个不同的报文难以生成相同的摘要难以对指定的摘要生成一个报文，而可以由该报文反推算出该指定的摘要代表：美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5</p>
<p>&nbsp;&nbsp;&nbsp; <strong>（二）对字符串进行加密</strong><br />
</p>
<div align="center">
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: none repeat scroll 0% 50% #e6e6e6; width: 95%;">
<div align="left">&nbsp;&nbsp;&nbsp;&nbsp;/**&nbsp;*//**利用MD5进行加密<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;str&nbsp;&nbsp;待加密的字符串<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;加密后的字符串<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;NoSuchAlgorithmException&nbsp;&nbsp;没有这种产生消息摘要的算法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;UnsupportedEncodingException&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;EncoderByMd5(String&nbsp;str)&nbsp;throws&nbsp;NoSuchAlgorithmException,&nbsp;</div>
<div align="left">UnsupportedEncodingException...{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//确定计算方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageDigest&nbsp;md5=MessageDigest.getInstance("MD5");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BASE64Encoder&nbsp;base64en&nbsp;=&nbsp;new&nbsp;BASE64Encoder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//加密后的字符串<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;newstr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</div>
</div>
</div>
<p>&nbsp;&nbsp;&nbsp; 调用函数：String str="0123456789"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println（EncoderByMd5（str））；</p>
<p>&nbsp;&nbsp;&nbsp; 输出：eB5eJF1ptWaXm4bijSPyxw==</p>
<p>&nbsp;&nbsp;&nbsp; <strong>（三）验证密码是否正确</strong></p>
<p>&nbsp;&nbsp;&nbsp;
因为MD5是基于消息摘要原理的，消息摘要的基本特征就是很难根据摘要推算出消息报文，因此要验证密码是否正确，就必须对输入密码（消息报文）重新计算其
摘要，和数据库中存储的摘要进行对比（即数据库中存储的其实为用户密码的摘要），若两个摘要相同，则说明密码正确，不同，则说明密码错误。<br />
</p>
<div align="center">
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: none repeat scroll 0% 50% #e6e6e6; width: 95%;">
<div align="left">&nbsp;&nbsp;&nbsp;&nbsp;/**&nbsp;*//**判断用户密码是否正确<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;newpasswd&nbsp;&nbsp;用户输入的密码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;oldpasswd&nbsp;&nbsp;数据库中存储的密码－－用户密码的摘要<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;NoSuchAlgorithmException<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;UnsupportedEncodingException<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;boolean&nbsp;checkpassword(String&nbsp;newpasswd,String&nbsp;oldpasswd)&nbsp;throws&nbsp;NoSuchAlgorithmException,&nbsp;</div>
<div align="left">UnsupportedEncodingException...{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(EncoderByMd5(newpasswd).equals(oldpasswd))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</div>
</div>
</div>
<img src ="http://www.blogjava.net/anchor110/aggbug/341737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-28 11:10 <a href="http://www.blogjava.net/anchor110/articles/341737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 获取文件夹大小，文件大小，文件个数(注：转载于http://blog.sina.com.cn/s/blog_45096c6a0100btse.html)</title><link>http://www.blogjava.net/anchor110/articles/341284.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 21 Dec 2010 16:18:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/341284.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/341284.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/341284.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/341284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/341284.html</trackback:ping><description><![CDATA[<p>package tony;</p>
<p><br />
import java.io.File;<br />
import java.text.DecimalFormat;<br />
import java.io.FileInputStream;</p>
<p>public class GetFileSize<br />
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> public long
getFileSizes(File f) throws Exception{//取得文件大小<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long s=0;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (f.exists()) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
FileInputStream fis = null;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
fis = new FileInputStream(f);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
s= fis.available();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
f.createNewFile();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("文件不存在");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
return s;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> // 递归<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> public long
getFileSize(File f)throws Exception//取得文件夹大小<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long size = 0;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
File flist[] = f.listFiles();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for (int i = 0; i &lt; flist.length; i++)<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (flist[i].isDirectory())<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
size = size + getFileSize(flist[i]);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
size = size + flist[i].length();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
return size;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> public
String FormetFileSize(long fileS) {//转换文件大小<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DecimalFormat df = new DecimalFormat("#.00");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String fileSizeString = "";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (fileS &lt; 1024) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
fileSizeString = df.format((double) fileS) + "B";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else if (fileS &lt; 1048576) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
fileSizeString = df.format((double) fileS / 1024) + "K";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else if (fileS &lt; 1073741824) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
fileSizeString = df.format((double) fileS / 1048576) + "M";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
fileSizeString = df.format((double) fileS / 1073741824) +
"G";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
return fileSizeString;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> public long
getlist(File f){//递归求取目录文件个数<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long size = 0;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
File flist[] = f.listFiles();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
size=flist.length;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for (int i = 0; i &lt; flist.length; i++) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (flist[i].isDirectory()) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
size = size + getlist(flist[i]);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
size--;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
return size;</p>
&nbsp;
<p><wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> public
static void main(String args[])<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
GetFileSize g = new GetFileSize();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long startTime = System.currentTimeMillis();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
try<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long l = 0;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String path = "C:\\WINDOWS";<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
File ff = new File(path);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (ff.isDirectory()) { //如果路径是文件夹的时候<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("文件个数&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
" + g.getlist(ff));<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("目录");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
l = g.getFileSize(ff);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(path + "目录的大小为：" + g.FormetFileSize(l));<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} else {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
文件个数&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
1");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("文件");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
l = g.getFileSizes(ff);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(path + "文件的大小为：" + g.FormetFileSize(l));<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} catch (Exception e)<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
long endTime = System.currentTimeMillis();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("总共花费时间为：" + (endTime - startTime) +
"毫秒...");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
}</p>
<img src ="http://www.blogjava.net/anchor110/aggbug/341284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-22 00:18 <a href="http://www.blogjava.net/anchor110/articles/341284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Class.getResourceAsStream和ClassLoader.getResourceAsStream(注：转载于http://dev.firnow.com/course/3_program/java/javajs/20090208/154974.html)</title><link>http://www.blogjava.net/anchor110/articles/340079.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Wed, 08 Dec 2010 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/340079.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/340079.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/340079.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/340079.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/340079.html</trackback:ping><description><![CDATA[两个都可以用于从 classpath 里面进行资源读取，&nbsp; classpath包含classpath中的路径<br />
和classpath中的jar。 <br />
<br />
两个方法的区别是资源的定义不同， 一个主要用于相对与一个object取资源，而另一个用于取相对于classpath的<br />
资源，用的是绝对路径。<br />
<br />
在使用Class.getResourceAsStream 时， 资源路径有两种方式， 一种以 / 开头，则这样的路径是指定绝对<br />
路径， 如果不以 / 开头， 则路径是相对与这个class所在的包的。 <br />
<br />
在使用ClassLoader.getResourceAsStream时， 路径直接使用相对于classpath的绝对路径。 <br />
<br />
举例，下面的三个语句，实际结果是一样的： <br />
com.explorers.Test.class.getResourceAsStream("abc.jpg")<br />
com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")<br />
ClassLoader.getResourceAsStream("com/explorers/abc.jpg")
<img src ="http://www.blogjava.net/anchor110/aggbug/340079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-08 17:02 <a href="http://www.blogjava.net/anchor110/articles/340079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Java实现ZIP压缩文件和目录程序代码(注：转载于http://www.javaweb.cc/language/java/222365.shtml)</title><link>http://www.blogjava.net/anchor110/articles/339914.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Mon, 06 Dec 2010 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/339914.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/339914.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/339914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/339914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/339914.html</trackback:ping><description><![CDATA[<p><strong>用Java实现zip压缩文件和目录程序代码</strong></p>
<p>今天写了个用java压缩的功能，可以实现对文件和目录的压缩。</p>
<p>由于java.util.zip.ZipOutputStream有中文乱码问题，所以采用org.apache.tools.zip.ZipOutputStream。 <br />
以下是代码： <br />
Java代码 <br />
package net.szh.zip;</p>
<p>import java.io.BufferedInputStream; <br />
import java.io.File; <br />
import java.io.FileInputStream; <br />
import java.io.FileOutputStream; <br />
import java.util.zip.CRC32; <br />
import java.util.zip.CheckedOutputStream;</p>
<p>import org.apache.tools.zip.ZipEntry; <br />
import org.apache.tools.zip.ZipOutputStream;</p>
<p>public class ZipCompressor { <br />
static final int BUFFER = 8192;</p>
<p>private File zipFile;</p>
<p>public ZipCompressor(String pathName) { <br />
zipFile = new File(pathName); <br />
}</p>
<p>public void compress(String srcPathName) { <br />
File file = new File(srcPathName); <br />
if (!file.exists()) <br />
throw new RuntimeException(srcPathName + "不存在！"); <br />
try { <br />
FileOutputStream fileOutputStream = new FileOutputStream(zipFile); <br />
CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, <br />
new CRC32()); <br />
ZipOutputStream out = new ZipOutputStream(cos); <br />
String basedir = ""; <br />
compress(file, out, basedir); <br />
out.close(); <br />
} catch (Exception e) { <br />
throw new RuntimeException(e); <br />
} <br />
}</p>
<p>private void compress(File file, ZipOutputStream out, String basedir) { <br />
/* 判断是目录还是文件 */ <br />
if (file.isDirectory()) { <br />
System.out.println("压缩：" + basedir + file.getName()); <br />
this.compressDirectory(file, out, basedir); <br />
} else { <br />
System.out.println("压缩：" + basedir + file.getName()); <br />
this.compressFile(file, out, basedir); <br />
} <br />
}</p>
<p>/** 压缩一个目录 */ <br />
private void compressDirectory(File dir, ZipOutputStream out, String basedir) { <br />
if (!dir.exists()) <br />
return;</p>
<p>File[] files = dir.listFiles(); <br />
for (int i = 0; i &lt; files.length; i++) { <br />
/* 递归 */ <br />
compress(files[i], out, basedir + dir.getName() + "/"); <br />
} <br />
}</p>
/** 压缩一个文件 */ <br />
private void compressFile(File file, ZipOutputStream out, String basedir) { <br />
if (!file.exists()) { <br />
return; <br />
} <br />
try { <br />
BufferedInputStream bis = new BufferedInputStream( <br />
new FileInputStream(file)); <br />
ZipEntry entry = new ZipEntry(basedir + file.getName()); <br />
out.putNextEntry(entry); <br />
int count; <br />
byte data[] = new byte[BUFFER]; <br />
while ((count = bis.read(data, 0, BUFFER)) != -1) { <br />
out.write(data, 0, count); <br />
} <br />
bis.close(); <br />
} catch (Exception e) { <br />
throw new RuntimeException(e); <br />
} <br />
} <br />
}<br />
<br />
<p>package net.szh.zip;</p>
<p>import java.io.BufferedInputStream;<br />
import java.io.File;<br />
import java.io.FileInputStream;<br />
import java.io.FileOutputStream;<br />
import java.util.zip.CRC32;<br />
import java.util.zip.CheckedOutputStream;</p>
<p>import org.apache.tools.zip.ZipEntry;<br />
import org.apache.tools.zip.ZipOutputStream;</p>
<p>public class ZipCompressor {<br />
static final int BUFFER = 8192;</p>
<p>private File zipFile;</p>
<p>public ZipCompressor(String pathName) {<br />
zipFile = new File(pathName);<br />
}</p>
<p>public void compress(String srcPathName) {<br />
File file = new File(srcPathName);<br />
if (!file.exists())<br />
throw new RuntimeException(srcPathName + "不存在！");<br />
try {<br />
FileOutputStream fileOutputStream = new FileOutputStream(zipFile);<br />
CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream,<br />
new CRC32());<br />
ZipOutputStream out = new ZipOutputStream(cos);<br />
String basedir = "";<br />
compress(file, out, basedir);<br />
out.close();<br />
} catch (Exception e) {<br />
throw new RuntimeException(e);<br />
}<br />
}</p>
<p>private void compress(File file, ZipOutputStream out, String basedir) {<br />
/* 判断是目录还是文件 */<br />
if (file.isDirectory()) {<br />
System.out.println("压缩：" + basedir + file.getName());<br />
this.compressDirectory(file, out, basedir);<br />
} else {<br />
System.out.println("压缩：" + basedir + file.getName());<br />
this.compressFile(file, out, basedir);<br />
}<br />
}</p>
<p>/** 压缩一个目录 */<br />
private void compressDirectory(File dir, ZipOutputStream out, String basedir) {<br />
if (!dir.exists())<br />
return;</p>
<p>File[] files = dir.listFiles();<br />
for (int i = 0; i &lt; files.length; i++) {<br />
/* 递归 */<br />
compress(files[i], out, basedir + dir.getName() + "/");<br />
}<br />
}</p>
/** 压缩一个文件 */<br />
private void compressFile(File file, ZipOutputStream out, String basedir) {<br />
if (!file.exists()) {<br />
return;<br />
}<br />
try {<br />
BufferedInputStream bis = new BufferedInputStream(<br />
new FileInputStream(file));<br />
ZipEntry entry = new ZipEntry(basedir + file.getName());<br />
out.putNextEntry(entry);<br />
int count;<br />
byte data[] = new byte[BUFFER];<br />
while ((count = bis.read(data, 0, BUFFER)) != -1) {<br />
out.write(data, 0, count);<br />
}<br />
bis.close();<br />
} catch (Exception e) {<br />
throw new RuntimeException(e);<br />
}<br />
}<br />
}<br />
<br />
<p>后来发现原来可以用ant中的org.apache.tools.ant.taskdefs.Zip来实现，更加简单。 <br />
Java代码 <br />
package net.szh.zip;</p>
<p>import java.io.File;</p>
<p>import org.apache.tools.ant.Project; <br />
import org.apache.tools.ant.taskdefs.Zip; <br />
import org.apache.tools.ant.types.FileSet;</p>
<p>public class ZipCompressorByAnt {</p>
<p>private File zipFile;</p>
<p>public ZipCompressorByAnt(String pathName) { <br />
zipFile = new File(pathName); <br />
} <br />
<br />
public void compress(String srcPathName) { <br />
File srcdir = new File(srcPathName); <br />
if (!srcdir.exists()) <br />
throw new RuntimeException(srcPathName + "不存在！"); <br />
<br />
Project prj = new Project(); <br />
Zip zip = new Zip(); <br />
zip.setProject(prj); <br />
zip.setDestFile(zipFile); <br />
FileSet fileSet = new FileSet(); <br />
fileSet.setProject(prj); <br />
fileSet.setDir(srcdir); <br />
//fileSet.setIncludes("**/*.java"); 包括哪些文件或文件夹 eg:zip.setIncludes("*.java"); <br />
//fileSet.setExcludes(...); 排除哪些文件或文件夹 <br />
zip.addFileset(fileSet); <br />
<br />
zip.execute(); <br />
} <br />
}</p>
<p>package net.szh.zip;</p>
<p>import java.io.File;</p>
<p>import org.apache.tools.ant.Project;<br />
import org.apache.tools.ant.taskdefs.Zip;<br />
import org.apache.tools.ant.types.FileSet;</p>
<p>public class ZipCompressorByAnt {</p>
<p>private File zipFile;</p>
<p>public ZipCompressorByAnt(String pathName) {<br />
zipFile = new File(pathName);<br />
}</p>
<p>public void compress(String srcPathName) {<br />
File srcdir = new File(srcPathName);<br />
if (!srcdir.exists())<br />
throw new RuntimeException(srcPathName + "不存在！");<br />
<br />
Project prj = new Project();<br />
Zip zip = new Zip();<br />
zip.setProject(prj);<br />
zip.setDestFile(zipFile);<br />
FileSet fileSet = new FileSet();<br />
fileSet.setProject(prj);<br />
fileSet.setDir(srcdir);<br />
//fileSet.setIncludes("**/*.java"); 包括哪些文件或文件夹 eg:zip.setIncludes("*.java");<br />
//fileSet.setExcludes(...); 排除哪些文件或文件夹<br />
zip.addFileset(fileSet);<br />
<br />
zip.execute();<br />
}<br />
}<br />
测试一下 <br />
Java代码 <br />
package net.szh.zip;</p>
<p>public class TestZip { <br />
public static void main(String[] args) { <br />
ZipCompressor zc = new ZipCompressor("E:""szhzip.zip"); <br />
zc.compress("E:""test"); <br />
<br />
ZipCompressorByAnt zca = new ZipCompressorByAnt("E:""szhzipant.zip"); <br />
zca.compress("E:""test"); <br />
} <br />
} <br />
&nbsp;
<br />
</p>
<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/339914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-06 17:13 <a href="http://www.blogjava.net/anchor110/articles/339914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从URL获取文件保存到本地的JAVA代码（注：转载于http://www.builder.com.cn/2007/1116/637608.shtml）</title><link>http://www.blogjava.net/anchor110/articles/339903.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Mon, 06 Dec 2010 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/339903.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/339903.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/339903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/339903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/339903.html</trackback:ping><description><![CDATA[public boolean saveUrlAs(String photoUrl, String fileName) {<br />
//此方法只能用户HTTP协议<br />
&nbsp;  try {<br />
&nbsp;  &nbsp; URL url = new URL(photoUrl);<br />
&nbsp;  &nbsp; HttpURLConnection connection = (HttpURLConnection) url.openConnection();<br />
&nbsp;  &nbsp; DataInputStream in = new DataInputStream(connection.getInputStream());<br />
&nbsp;  &nbsp; DataOutputStream out = new DataOutputStream(new FileOutputStream(fileName));<br />
&nbsp;  &nbsp; byte[] buffer = new byte[4096];<br />
&nbsp;  &nbsp; int count = 0;<br />
&nbsp;  &nbsp; while ((count = in.read(buffer)) &gt; 0) {<br />
&nbsp;  &nbsp;   out.write(buffer, 0, count);<br />
&nbsp;  &nbsp; }<br />
&nbsp;  &nbsp; out.close();<br />
&nbsp;  &nbsp; in.close();<br />
&nbsp;  &nbsp; return true;<br />
&nbsp;  }<br />
&nbsp;  catch (Exception e) {<br />
&nbsp;  &nbsp; return false;<br />
&nbsp;  }<br />
}<br />
<br />
public String getDocumentAt(String urlString) {<br />
//此方法兼容HTTP和FTP协议<br />
&nbsp;  StringBuffer document = new StringBuffer();<br />
&nbsp;  try {<br />
&nbsp;  &nbsp; URL url = new URL(urlString);<br />
&nbsp;  &nbsp; URLConnection conn = url.openConnection();<br />
&nbsp;  &nbsp; BufferedReader reader = new BufferedReader(new InputStreamReader(conn.<br />
&nbsp;  &nbsp;  &nbsp;  getInputStream()));<br />
&nbsp;  &nbsp; String line = null;<br />
&nbsp;  &nbsp; while ( (line = reader.readLine()) != null) {<br />
&nbsp;  &nbsp;   document.append(line + ""n");<br />
&nbsp;  &nbsp; }<br />
&nbsp;  &nbsp; reader.close();<br />
&nbsp;  }<br />
&nbsp;  catch (MalformedURLException e) {<br />
&nbsp;  &nbsp; System.out.println("Unable to connect to URL: " + urlString);<br />
&nbsp;  }<br />
&nbsp;  catch (IOException e) {<br />
&nbsp;  &nbsp; System.out.println("IOException when connecting to URL: " + urlString);<br />
&nbsp;  }<br />
&nbsp;  return document.toString();<br />
}
<img src ="http://www.blogjava.net/anchor110/aggbug/339903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-06 15:50 <a href="http://www.blogjava.net/anchor110/articles/339903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI ***needs 2.1 API. </title><link>http://www.blogjava.net/anchor110/articles/339773.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sat, 04 Dec 2010 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/339773.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/339773.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/339773.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/339773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/339773.html</trackback:ping><description><![CDATA[<br />
解决办法：<br />
&nbsp;&nbsp;&nbsp; 1、如果是application工程，则在程序中打印出<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system.out.println(System.getProperty("java.endorsed.dirs"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 找到相应位置，将jaxb-api-2.1.jar和jaxb-impl-2.1.12.jar放到对应目录下即可。没有endorsed目录，自己建一个。<br />&nbsp;&nbsp;&nbsp; 2、如果是java web项目，则在一个servlet之类的运行起来的项目中，打印：<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system.out.println(System.getProperty("java.endorsed.dirs"));<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 找到相应位置，将jaxb-api-2.1.jar和jaxb-impl-2.1.12.jar放到对应目录下即可。没有endorsed目录，自己建一个。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我的WEB项目中，打印出来的路径是：E:\Java\apache-tomcat-7.0.19\endorsed</div></div><br /><br />详情参考这篇文章：<div><h3><a href="http://blog.csdn.net/wangts/article/details/6116371" title="java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx) needs 2.1 API">java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx) needs 2.1 API</a></h3><br /><div>http://blog.csdn.net/wangts/article/details/6116371</div></div>我是参考这文章真正解决问题的。<img src ="http://www.blogjava.net/anchor110/aggbug/339773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-04 10:09 <a href="http://www.blogjava.net/anchor110/articles/339773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.UnsupportedClassVersionError: Bad version number in .class file</title><link>http://www.blogjava.net/anchor110/articles/339756.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Fri, 03 Dec 2010 14:17:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/339756.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/339756.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/339756.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/339756.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/339756.html</trackback:ping><description><![CDATA[java.lang.UnsupportedClassVersionError: Bad version number in .class file<br />
<pre id="best-answer-content">这种过错是由于Tomcat运行的JDK版本与编译application时的JDK版本不一致造成的.<br />
把它们的JDK版本改成一致，步骤如下:<br />
1.Window --&gt; Preferences --&gt;Java --&gt; compiler中的compiler compliance level对应的下拉菜单中选择JDK版本.<br />
2.Window --&gt; Preferences --&gt;MyEclipse --&gt; Servers --&gt;Tomcat --&gt; Tomcat n.x --&gt;JDK中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK版本(必需与步骤1中的JDK版本一致).<br />
</pre>
<br />
<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/339756.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-12-03 22:17 <a href="http://www.blogjava.net/anchor110/articles/339756.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中list数据合并</title><link>http://www.blogjava.net/anchor110/articles/338273.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Wed, 17 Nov 2010 08:04:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/338273.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/338273.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/338273.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/338273.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/338273.html</trackback:ping><description><![CDATA[Java语言中，两个list合并语法如下：<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000;">list1.addAll(list2);</span></div>
注：其中list2添加到list1后面。<br />
<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/338273.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-11-17 16:04 <a href="http://www.blogjava.net/anchor110/articles/338273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA 正则表达式4种常用的功能(注：转载于http://java.chinaitlab.com/advance/350770.html)</title><link>http://www.blogjava.net/anchor110/articles/330290.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Mon, 30 Aug 2010 07:14:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/330290.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/330290.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/330290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/330290.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/330290.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 正则表达式在字符串处理上有着强大的功能，sun在jdk1.4加入了对它的支持。<br />
<br />
下面简单的说下它的4种常用功能：<br />
<br />
<strong>查询：</strong><br />
<br />
&nbsp;&nbsp;&nbsp; 以下是代码片段：<br />
&nbsp;&nbsp;&nbsp; String str="abc efg ABC"; <br />
<br />
&nbsp;&nbsp;&nbsp; String regEx="a|f"; //表示a或f <br />
<br />
&nbsp;&nbsp;&nbsp; Pattern p=Pattern.compile(regEx); <br />
<br />
&nbsp;&nbsp;&nbsp; Matcher m=p.matcher(str); <br />
<br />
&nbsp;&nbsp;&nbsp; boolean rs=m.find(); <br />
<br />
<br />
如果str中有regEx，那么rs为true，否则为flase。如果想在查找时忽略大小写，则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);<br />
<br />
<strong>提取：</strong><br />
<br />
&nbsp;&nbsp;&nbsp; 以下是代码片段：<br />
&nbsp;&nbsp;&nbsp; String regEx=".+\\\\(.+)$"; <br />
<br />
&nbsp;&nbsp;&nbsp; String str="c:"dir1"dir2"name.txt"; <br />
<br />
&nbsp;&nbsp;&nbsp; Pattern p=Pattern.compile(regEx); <br />
<br />
&nbsp;&nbsp;&nbsp; Matcher m=p.matcher(str); <br />
<br />
&nbsp;&nbsp;&nbsp; boolean rs=m.find(); <br />
<br />
&nbsp;&nbsp;&nbsp; for(int i=1;i&lt;=m.groupCount();i++){ <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(m.group(i)); <br />
<br />
&nbsp;&nbsp;&nbsp; } <br />
<br />
<br />
以上的执行结果为name.txt，提取的字符串储存在m.group(i)中，其中i最大值为m.groupCount();<br />
<br />
<strong>分割：<br />
</strong>　　<br />
&nbsp;&nbsp;&nbsp; 以下是代码片段：<br />
&nbsp;&nbsp;&nbsp; String regEx="::"; <br />
<br />
&nbsp;&nbsp;&nbsp; Pattern p=Pattern.compile(regEx); <br />
<br />
&nbsp;&nbsp;&nbsp; String[] r=p.split("xd::abc::cde"); <br />
<br />
&nbsp;&nbsp;&nbsp; 执行后，r就是{"xd","abc","cde"}，其实分割时还有跟简单的方法： <br />
<br />
&nbsp;&nbsp;&nbsp; String str="xd::abc::cde"; <br />
<br />
&nbsp;&nbsp;&nbsp; String[] r=str.split("::"); <br />
<br />
<br />
<strong>替换（删除）：</strong><br />
<br />
&nbsp;&nbsp;&nbsp; 以下是代码片段：<br />
&nbsp;&nbsp;&nbsp; String regEx="a+"; //表示一个或多个a <br />
<br />
&nbsp;&nbsp;&nbsp; Pattern p=Pattern.compile(regEx); <br />
<br />
&nbsp;&nbsp;&nbsp; Matcher m=p.matcher("aaabbced a ccdeaa"); <br />
<br />
&nbsp;&nbsp;&nbsp; String s=m.replaceAll("A"); <br />
<br />
结果为"Abbced A ccdeA"<br />
<br />
如果写成空串，既可达到删除的功能，比如：<br />
<br />
&nbsp;&nbsp;&nbsp; String s=m.replaceAll("");<br />
<br />
结果为"bbced ccde"<br />
<br />
<strong>附：</strong><br />
<br />
&nbsp; "D 等於 [^0-9] 非数字 <br />
&nbsp; "s 等於 [ "t"n"x0B"f ] 空白字元 <br />
&nbsp; "S 等於 [^ "t"n"x0B"f ] 非空白字元 <br />
&nbsp; "w 等於 [a-zA-Z_0-9] 数字或是英文字 <br />
"W 等於 [^a-zA-Z_0-9] 非数字与英文字 <br />
<br />
^ 表示每行的开头<br />
$ 表示每行的结尾
<img src ="http://www.blogjava.net/anchor110/aggbug/330290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-08-30 15:14 <a href="http://www.blogjava.net/anchor110/articles/330290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA中的命令调用</title><link>http://www.blogjava.net/anchor110/articles/326612.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 20 Jul 2010 03:03:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/326612.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/326612.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/326612.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/326612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/326612.html</trackback:ping><description><![CDATA[<p align="left"><span>JAVA中启动IE，Runtime.getRuntime().exec("cmd&nbsp; /c&nbsp; start&nbsp; iexplore");</span><br />
<p align="left"><span>JAVA中打开文本文件，Runtime.getRuntime().exec("cmd &nbsp;/c &nbsp;start &nbsp;d:\\index.txt");</span><br />

 
<img src ="http://www.blogjava.net/anchor110/aggbug/326612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-07-20 11:03 <a href="http://www.blogjava.net/anchor110/articles/326612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>