﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-宝宝堂-随笔分类-java</title><link>http://www.blogjava.net/soddabao/category/18014.html</link><description>喜欢没事学点东西,喜欢开开心心侃东侃西,喜欢土里土气的活着,喜欢享受好的坏的的生活。</description><language>zh-cn</language><lastBuildDate>Tue, 22 Apr 2008 15:27:44 GMT</lastBuildDate><pubDate>Tue, 22 Apr 2008 15:27:44 GMT</pubDate><ttl>60</ttl><item><title>使用JDBC访问DB2的问题：no db2jdbc in java.library.path</title><link>http://www.blogjava.net/soddabao/archive/2008/04/22/194878.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Tue, 22 Apr 2008 13:11:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2008/04/22/194878.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/194878.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2008/04/22/194878.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/194878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/194878.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt">使用DB2自带的驱动db2java.zip文件中的type2类型的驱动访问DB2，总是报错： java.sql.SQLException: java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span>
<p><span style="font-size: 12pt">或者：<br />
java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.app.DB2Driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
要么就报:没有合适的驱动。</span></p>
<p><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我开始查classpath，把多余的驱动都删除了，还是报错，后来我又把db2java.zip文件改名为db2java.jar，也还是不行。</span></p>
<p><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 折腾了一个小时，我意识到访问DB2和访问Oracle不太一样，于是google，结果找到这篇文章：</span></p>
<p><a href="http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/0402chenjunwei/0402chenjunwei.html"><span style="font-size: 12pt">http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/0402chenjunwei/0402chenjunwei.html</span></a></p>
<br />
把驱动加到环境变量中，怎么试也是出问题，测试也不是db的版本与驱动的版本不一致。<br />
上网baidu google也是没有找到原因，同事机器上就没有任何问题，我就看她的配置发现和我配置还有点区别，就是少动态数据库文件。<br />
于是我把db2jdbc.dll文件拷到Java_Home/<strong>bin</strong>下面，重启机器，OK！一定要记住：是<strong>bin</strong>下面！！！<br />
db2java.zip文件要改名为db2java.jar，并且放到Common/lib下。
<img src ="http://www.blogjava.net/soddabao/aggbug/194878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2008-04-22 21:11 <a href="http://www.blogjava.net/soddabao/archive/2008/04/22/194878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多重子查询提取每次子查询的SQL语句</title><link>http://www.blogjava.net/soddabao/archive/2008/04/22/194871.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Tue, 22 Apr 2008 12:58:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2008/04/22/194871.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/194871.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2008/04/22/194871.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/194871.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/194871.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之前用的oracle大型数据库，写的sql都是依据oracle的。移动端部分用的不能是oracle数据库，只能采用小型数据库，现场采用db2。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db2大小只能论k为单位，很多基本的sql语法都不支持，尤其多重子查询就不支持，做试验报告的阀值就必须得用这个子查询，没有部分只好将多重子查询提出sql，单独执行。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 提取多重子查询的方法倒是不复杂，就是对sql语句循环处理，判断是否含有多个select关键字，如果有从字符串最后一个select处理，截取sql语句，执行，然后将查询的结果替换原先的sql语句，直到循环判断sql语句中只有一个select关键字。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 关键部分的代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;lastSelectNo&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;size&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sqlString.split(</span><span style="color: #000000">"</span><span style="color: #000000">select</span><span style="color: #000000">"</span><span style="color: #000000">).length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.split(</span><span style="color: #000000">"</span><span style="color: #000000">select</span><span style="color: #000000">"</span><span style="color: #000000">).length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sqlString.split(</span><span style="color: #000000">"</span><span style="color: #000000">SELECT</span><span style="color: #000000">"</span><span style="color: #000000">).length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.split(</span><span style="color: #000000">"</span><span style="color: #000000">SELECT</span><span style="color: #000000">"</span><span style="color: #000000">).length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;sql&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String[size];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(isHaveTwoSelect(sqlString))<br />
<img id="Codehighlighter1_316_910_Open_Image" onclick="this.style.display='none'; Codehighlighter1_316_910_Open_Text.style.display='none'; Codehighlighter1_316_910_Closed_Image.style.display='inline'; Codehighlighter1_316_910_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_316_910_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_316_910_Closed_Text.style.display='none'; Codehighlighter1_316_910_Open_Image.style.display='inline'; Codehighlighter1_316_910_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_316_910_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_316_910_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastSelectNo&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.lastIndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">select</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(lastSelectNo&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastSelectNo&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.lastIndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">SELECT</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;beforeLast&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.charAt(lastSelectNo&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(beforeLast&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">(</span><span style="color: #000000">'</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_534_893_Open_Image" onclick="this.style.display='none'; Codehighlighter1_534_893_Open_Text.style.display='none'; Codehighlighter1_534_893_Closed_Image.style.display='inline'; Codehighlighter1_534_893_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_534_893_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_534_893_Closed_Text.style.display='none'; Codehighlighter1_534_893_Open_Image.style.display='inline'; Codehighlighter1_534_893_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_534_893_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_534_893_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">5</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;string&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.substring(lastSelectNo).substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;k);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">IsMatching(string))<br />
<img id="Codehighlighter1_658_739_Open_Image" onclick="this.style.display='none'; Codehighlighter1_658_739_Open_Text.style.display='none'; Codehighlighter1_658_739_Closed_Image.style.display='inline'; Codehighlighter1_658_739_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_658_739_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_658_739_Closed_Text.style.display='none'; Codehighlighter1_658_739_Open_Image.style.display='inline'; Codehighlighter1_658_739_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_658_739_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_658_739_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="color: #000000">++</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString.substring(lastSelectNo).substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;k);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql[size&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;string.substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;k&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlString&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;replace(sqlString,&nbsp;sql[size&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">].toString(),&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">sql[</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;(size&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">]</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size</span><span style="color: #000000">--</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #008000">//</span><span style="color: #008000">if(befor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql[</span><span style="color: #000000">0</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sqlString;</span></div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 问题是：对于select关键字的处理，目前只知道全是小写select或是全是大写SELECT，实际中select关键字这个不考虑大小写限制，我这边还尚未进行校验，一是比较麻烦二是尚未发现好的方法，目前就是对select关键字依次判断是否是s e l e c t几个字符 ，不考虑大小写。 <br />
&nbsp;&nbsp;&nbsp;&nbsp; 大家如果有好的处理select关键字方法，欢迎得道你的支持。
<img src ="http://www.blogjava.net/soddabao/aggbug/194871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2008-04-22 20:58 <a href="http://www.blogjava.net/soddabao/archive/2008/04/22/194871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jdk版本的问题</title><link>http://www.blogjava.net/soddabao/archive/2008/01/11/174606.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Fri, 11 Jan 2008 05:33:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2008/01/11/174606.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/174606.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2008/01/11/174606.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/174606.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/174606.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大家发布web程序，出现如下这样的错误么？我只知道是jdk的版本问题，我机器上安装了4 5 6三个版本的jdk，应该是jdk6和jdk5冲突造成的。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我解决过一次，就是把所有的jdk全删除，然后安装我使用的jdk的版本，问题就没有了，不过这样解决不是最佳方法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不知道大家有么有别的好的解决方法？<br />
<br />
<br />
<img style="width: 997px; height: 593px" height="593" alt="" src="http://www.blogjava.net/images/blogjava_net/soddabao/error.gif" width="997" border="0" /></p>
 <img src ="http://www.blogjava.net/soddabao/aggbug/174606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2008-01-11 13:33 <a href="http://www.blogjava.net/soddabao/archive/2008/01/11/174606.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Editplus编译执行JAVA程序</title><link>http://www.blogjava.net/soddabao/archive/2008/01/09/174051.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Wed, 09 Jan 2008 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2008/01/09/174051.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/174051.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2008/01/09/174051.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/174051.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/174051.html</trackback:ping><description><![CDATA[EditPlus是很多程序员非常熟悉的编辑工具，它以占用系统资源小、操作简便灵活、支持文件类型丰富（还能自定义文件类型）等优点而被广泛使用。 <br />
其实EditPlus不但有编辑程序的功能，还有灵活的编译功能，下面就简单介绍一下EditPlus对JAVA的编译设置。<br />
在配置EditPlus之前，我们先要将JAVA的运行环境安装并且调试好，这里我就不再说明了。 <br />
首先，从菜单&#8220;工具（Tools）&#8221;-&gt;&#8220;配置用户工具...&#8221;进入用户工具设置。 <br />
在类别里展开&#8220;工具&#8221;树形菜单-&gt;&#8220;用户工具（user tool）&#8221;，选择&#8220;组和工具项目&#8221;中的&#8220;Group 1&#8221;，点击面板右边的&#8220;组名称...(group name)&#8221;按钮，将文本&#8220;Group1&#8221;修改成&#8220;编译JAVA程序&#8221;。 <br />
然后选择修改的组&#8220;编译JAVA程序&#8221;，点击&#8220;添加新工具(add tools)&#8221;按钮，选择程序，建立&#8220;新建程序(program)&#8221;，选中它。 <br />
然后就是最重要的步骤（修改属性）：
<p>&nbsp;<strong><font color="#ff0000" size="3">※</font></strong>添加编译功能 <br />
&#8220;菜单文字&#8221;里的内容修改为&#8220;JAVAC&#8221;； <br />
&#8220;命令&#8221;选择安装JDK后的BIN目录中的编译程序JAVAC.EXE，如果JDK 安装路径为&#8220;c:\jdk&#8221;，那么此路径为&#8220;c:\jdk\bin\javac.exe&#8221;； <br />
&#8220;参数&#8221;选择&#8220;文件名称&#8221;，即显示为&#8220;$(FileName)&#8221;； <br />
&#8220;初始目录&#8221;选择&#8220;文件目录&#8221;，显示为&#8220;$(FileDir)&#8221;； <br />
选择&#8220;捕获输出&#8221;复选框。 <br />
</p>
<div><img src="http://photo1.bababian.com/upload6/20080106/A8AB06AE67439A6FFCC139566733280B_500.jpg"  alt="" /></div>
<div>&nbsp;<strong><font color="#ff0000" size="3">※</font></strong>添加执行功能 <br />
&#8220;菜单文字&#8221;里的内容修改为&#8220;JAVA&#8221;； <br />
&#8220;命令&#8221;选择安装JDK后的BIN目录中的编译程序JAVA.EXE，路径为&#8220;c:\jdk\bin\java.exe&#8221;； <br />
&#8220;参数&#8221;选择&#8220;文件名（不含扩展名）&#8221;，即显示为&#8220;$(FileNameNoExt)&#8221;； <br />
&#8220;初始目录&#8221;选择&#8220;文件目录&#8221;，显示为&#8220;$(FileDir)&#8221;； <br />
选择&#8220;捕获输出&#8221;复选框。</div>
<div>&nbsp;</div>
<div><img src="http://photo1.bababian.com/upload6/20080106/04699FE132A8426D1B91FE899C2D1436_500.jpg"  alt="" /></div>
<div>这样就完成了基本的配置工作，下面来试着编写一个JAVA程序来测试一下（如图），编译的所有信息都会显示在输出窗口中，双击某一行错误信息，EditPlus会自动定位到出错行。 <br />
<img class="photoBorder" id="current" src="http://photo1.bababian.com/upload6/20080106/1AB0DA941F027B0B66C3D84E9BB8FAA5_500.jpg"  alt="" /></div>
<img src ="http://www.blogjava.net/soddabao/aggbug/174051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2008-01-09 16:29 <a href="http://www.blogjava.net/soddabao/archive/2008/01/09/174051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反编译工具jad简单用法</title><link>http://www.blogjava.net/soddabao/archive/2007/09/26/148305.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Wed, 26 Sep 2007 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/09/26/148305.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/148305.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/09/26/148305.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/148305.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/148305.html</trackback:ping><description><![CDATA[<font color="#333333">反编译工具jad简单用法 <br />
以下假设jad.exe在c:\java目录下 <br />
一、基本用法 <br />
Usage:&nbsp;&nbsp;&nbsp;&nbsp;jad&nbsp;[option(s)]&nbsp;&lt;filename(s)&gt; <br />
直接输入类文件名，且支持通配符，如下所示。 <br />
c:\java\&gt;jad&nbsp;example1.class <br />
c:\java\&gt;jad&nbsp;*.class <br />
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。 <br />
<br />
</font>
<table width="676" border="0">
    <tbody>
        <tr>
            <td width="307"><font color="#333333">二、Option&nbsp;-o <br />
            不提示，覆盖源文件 <br />
            三、Option&nbsp;-s <br />
            c:\java\&gt;jad&nbsp;-sjava&nbsp;example1.class <br />
            反编译结果以.java为扩展名。 <br />
            <br />
            四、Option&nbsp;-p <br />
            将反编译结果输出到屏幕 <br />
            c:\java\&gt;jad&nbsp;-p&nbsp;example1.class <br />
            将反编译结果重定向到文件 <br />
            c:\java\&gt;jad&nbsp;-p&nbsp;example1.class&gt;example1.java <br />
            <br />
            五、Option&nbsp;-d <br />
            指定反编译的输出文件目录 <br />
            c:\java\&gt;jad&nbsp;-o&nbsp;-dtest&nbsp;-sjava&nbsp;*.class</font></td>
        </tr>
    </tbody>
</table>
<br />
<strong>命令行选择的列表</strong><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 用JVM字节格式来注解输出<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -af&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 同 -a,但是注解的时候用全名称<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -clear&nbsp;&nbsp;&nbsp; - 清除所有的前缀<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 输出多于的括号 (e.g., if(a) { b(); }, default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d &lt;dir&gt; - 指定输出文件的文件目录<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -dead&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -试图反编译代码的dead 部分(default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -disass&nbsp;&nbsp; - 不用用字节码的方式反编译 (no JAVA source generated)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 输出整个的名字,无论是类还是方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -输出类的成员在方法之前 (default: after methods)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 输出所有的变量的缺省的最初值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -l&lt;num&gt;&nbsp;&nbsp;&nbsp; - 将strings分割成指定数目的块的字符 (default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -lnc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 将输出文件用行号来注解 (default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 分割strings用新行字符 newline character (default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nodos&nbsp;&nbsp;&nbsp; -不要去检查class文件是否以dos方式写 (CR before NL, default: check)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nocast&nbsp;&nbsp; - 不要生成辅助文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nocode&nbsp;&nbsp;&nbsp; -不要生成方法的源代码 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -noconv&nbsp;&nbsp;&nbsp; - 不要转换java的定义符 (default: do)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -noctor&nbsp;&nbsp; - 不允许空的构造器存在<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -noinner&nbsp;&nbsp; -关掉对内部类的支持 (default: turn on)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nolvt&nbsp;&nbsp;&nbsp; - 忽略局部变量的表信息<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -nonlb&nbsp;&nbsp;&nbsp;&nbsp; - 不要输出一个新行在打开一个括号之前 (default: do)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 无需确认直接覆盖输出 (default: no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 发送反编译代码到标准输出 STDOUT (e.g., for piping) 
<img src ="http://www.blogjava.net/soddabao/aggbug/148305.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-09-26 13:32 <a href="http://www.blogjava.net/soddabao/archive/2007/09/26/148305.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javax.servlet.ServletException: [HTTP:101249]</title><link>http://www.blogjava.net/soddabao/archive/2007/09/12/144574.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Wed, 12 Sep 2007 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/09/12/144574.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/144574.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/09/12/144574.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/144574.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/144574.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; 今天发布程序，正式环境是weblogic816的集群，而自己的机器上的是813的单机版，发布程序一起出现如下错误&lt;2007-9-12 下午17时16分08秒 CST&gt; &lt;Error&gt; &lt;HTTP&gt; &lt;BEA-101249&gt; &lt;[ServletContext(id=4121484,name=ept,con...&nbsp;&nbsp;<a href='http://www.blogjava.net/soddabao/archive/2007/09/12/144574.html'>阅读全文</a><img src ="http://www.blogjava.net/soddabao/aggbug/144574.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-09-12 18:03 <a href="http://www.blogjava.net/soddabao/archive/2007/09/12/144574.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java连接各类数据库的方法 </title><link>http://www.blogjava.net/soddabao/archive/2007/08/17/137442.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Fri, 17 Aug 2007 00:52:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/08/17/137442.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/137442.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/08/17/137442.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/137442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/137442.html</trackback:ping><description><![CDATA[<p>1、Oracle8/8i/9i数据库（thin模式） </p>
<p>　　Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); </p>
<p>　　String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID </p>
<p>　　String user="test"; </p>
<p>　　String password="test"; </p>
<p>　　Connection conn= DriverManager.getConnection(url,user,password); </p>
<p>　　2、DB2数据库 </p>
<p>　　Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); </p>
<p>　　String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 </p>
<p>　　String user="admin"; <br>　　<br>　　String password=""; </p>
<p>　　Connection conn= DriverManager.getConnection(url,user,password); </p>
<p>　　3、Sql Server7.0/2000数据库 </p>
<p>　　Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); </p>
<p>　　String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 <br>　<br>　　String user="sa"; </p>
<p>　　String password=""; <br>　<br>　　Connection conn= DriverManager.getConnection(url,user,password); </p>
<p>　<br>　　4、Sybase数据库 <br>　<br>　　Class.forName("com.sybase.jdbc.SybDriver").newInstance(); </p>
<p>　　String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 </p>
<p>　　Properties sysProps = System.getProperties(); <br>　<br>　　SysProps.put("user","userid"); </p>
<p>　　SysProps.put("password","user_password"); </p>
<p>　　Connection conn= DriverManager.getConnection(url, SysProps); </p>
<p>　　5、Informix数据库 </p>
<p>　　Class.forName("com.informix.jdbc.IfxDriver").newInstance(); <br>　<br>　　String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; </p>
<p>　　user=testuser;password=testpassword"; //myDB为数据库名 </p>
<p>　　Connection conn= DriverManager.getConnection(url); </p>
<p>　　6、MySQL数据库 </p>
<p>　　Class.forName("org.gjt.mm.mysql.Driver").newInstance(); <br>　<br>　　String url ="jdbc:mysql://localhost/myDB";</p>
<p>　　user=soft&amp;password=soft1234&amp;useUnicode=true&amp;characterEncoding=8859_1" ;//myDB为数据库名 </p>
<p>　　Connection conn= DriverManager.getConnection(url); </p>
<p>　　7、PostgreSQL数据库 </p>
<p>　　Class.forName("org.postgresql.Driver").newInstance(); </p>
<p>　　String url ="jdbc:postgresql://localhost/myDB";//myDB为数据库名 </p>
<p>　　String user="myuser"; </p>
<p>　　String password="mypassword"; </p>
<p>　　Connection conn= DriverManager.getConnection(url,user,password);</p>
<p>&nbsp;&nbsp;&nbsp; 8、Access数据库</p>
<p>&nbsp;&nbsp;&nbsp; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p>
<p>&nbsp;&nbsp;&nbsp; String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式</p>
<p>&nbsp;&nbsp;&nbsp; //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式</p>
<p>&nbsp;&nbsp;&nbsp; Connection conn=DriverManager.getConnection(dburl);<br>&nbsp;</p>
<img src ="http://www.blogjava.net/soddabao/aggbug/137442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-08-17 08:52 <a href="http://www.blogjava.net/soddabao/archive/2007/08/17/137442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关乱码的处理－－－中国程序员永远无法避免的话题</title><link>http://www.blogjava.net/soddabao/archive/2007/08/13/136360.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Mon, 13 Aug 2007 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/08/13/136360.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/136360.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/08/13/136360.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/136360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/136360.html</trackback:ping><description><![CDATA[<p>为什么说乱码是中国程序员无法避免的话题呢？这个首先要从编码机制上说起，大家都是中文和英文的编码格式不是一样，解码也是不一样的！如果中国的程序员不会遇到乱码，那么只有使用汉语编程。汉语编程是怎么回事我也不大清楚，应该是前年吧，我一朋友给我介绍汉语编程，怎么不错不错？当时因为学习忙没去关注这个，等我闲了，那个朋友不弄这个，问他他也不说不大清楚，最后自己对这个学习也不了了之了。<br>&nbsp;&nbsp;&nbsp; 今天我写这个不是讲解中英文之间的差距，解码等，我是将我在这几年工作遇到各种各样的乱码的解决方法，总结一样，也希望大家能把自己晕倒解决乱码的方法都说出来，咱们弄一个解决乱码的&#8220;葵花宝典&#8221;。</p>
<p>对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是<br>String s2 = new String(s1.getBytes(&#8220;ISO-8859-1&#8221;),&#8221;GBK&#8221;);<br><br><br><span style="COLOR: red">1、utf8解决JSP中文乱码问题</span> <br>一般说来在每个页面的开始处，加入：</p>
<p>&lt;%@ page language="java" contentType="text/html; charset=UTF-8"<br>&nbsp;&nbsp;&nbsp; pageEncoding="UTF-8"%&gt;</p>
<p>&lt;%<br>&nbsp;request.setCharacterEncoding("UTF-8");<br>%&gt; </p>
<p>charset=UTF-8&nbsp; 的作用是指定JSP向客户端输出的编码方式为&#8220;UTF-8&#8221;</p>
<p>pageEncoding="UTF-8"&nbsp; 为了让JSP引擎能正确地解码含有中文字符的JSP页面，这在LINUX中很有效</p>
<p>&nbsp;request.setCharacterEncoding("UTF-8"); 是对请求进行了中文编码</p>
<p>有时，这样仍不能解决问题，还需要这样处理一下：</p>
<p>String msg = request.getParameter("message");<br>&nbsp;String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");<br>&nbsp;out.println(st);</p>
<p><span style="COLOR: red">2、Tomcat 5.5 中文乱码</span> </p>
<p>)只要把%TOMCAT安装目录%/&nbsp;&nbsp; webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下，如果没有filters目录，就创建一个。&nbsp;&nbsp; <br>&nbsp; 2)在你的web.xml里加入如下几行：&nbsp;&nbsp; &lt;filter&gt;&nbsp;&nbsp; <br>&nbsp; &lt;filter-name&gt;Set&nbsp;&nbsp; Character&nbsp;&nbsp; Encoding&lt;/filter-name&gt;&nbsp;&nbsp; <br>&nbsp; &lt;filter-class&gt;filters.SetCharacterEncodingFilter&lt;/filter-class&gt;&nbsp;&nbsp; <br>&nbsp; &lt;init-param&gt;&nbsp;&nbsp; <br>&nbsp; &lt;param-name&gt;encoding&lt;/param-name&gt;&nbsp;&nbsp; <br>&nbsp; &lt;param-value&gt;GBK&lt;/param-value&gt;&nbsp;&nbsp; <br>&nbsp; &lt;/init-param&gt;&nbsp;&nbsp; <br>&nbsp; &lt;/filter&gt;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-mapping&gt;&nbsp;&nbsp; <br>&nbsp; &lt;filter-name&gt;Set&nbsp;&nbsp; Character&nbsp;&nbsp; Encoding&lt;/filter-name&gt;&nbsp;&nbsp; <br>&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;&nbsp;&nbsp; <br>&nbsp; &lt;/filter-mapping&gt;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp; 3)完成.&nbsp;&nbsp; <br>&nbsp; 2&nbsp;&nbsp; get方式的解决办法&nbsp;&nbsp; <br>&nbsp; 1)&nbsp;&nbsp; 打开tomcat的server.xml文件，找到区块，加入如下一行：&nbsp;&nbsp; <br>&nbsp; URIEncoding=&#8221;GBK&#8221;&nbsp;&nbsp; <br>&nbsp; 完整的应如下：&nbsp;&nbsp; <br>&nbsp; &lt;Connector&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; port="80"&nbsp;&nbsp; maxThreads="150"&nbsp;&nbsp; minSpareThreads="25"&nbsp;&nbsp; maxSpareThreads="75"&nbsp;&nbsp; <br>&nbsp; enableLookups="false"&nbsp;&nbsp; redirectPort="8443"&nbsp;&nbsp; acceptCount="100"&nbsp;&nbsp; <br>&nbsp; debug="0"&nbsp;&nbsp; connectionTimeout="20000"&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; disableUploadTimeout="true"&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; URIEncoding="GBK"&nbsp;&nbsp; <br>&nbsp; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp; 2)重启tomcat,一切OK。</p>
<p><span style="COLOR: red">3、xmlHttpRequest中文问题</span> </p>
<p>页面jsp用的GBK编码 </p>
<p><br>代码<br>&lt;%@ page contentType="text/html; charset=GBK"%&gt;&nbsp; </p>
<p><br>javascript部分 </p>
<p>代码<br>function addFracasReport() {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var url="controler?actionId=0_06_03_01&amp;actionFlag=0010";&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var urlmsg="&amp;reportId="+fracasReport1.textReportId.value;&nbsp; //故障报告表编号&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var xmlHttp=Common.createXMLHttpRequest();&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval("turnAnalyPage"));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; xmlHttp.open("POST",url,true);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; xmlHttp.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; xmlHttp.send(urlmsg);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>}&nbsp; </p>
<p><br>后台java中获得的reportId是乱码，不知道该怎么转，主要是不知道xmlHttp.send(urlmsg);以后是什么编码？在后面用java来转，试了几种，都没有成功，其中有：</p>
<p><br>代码<br>public static String UTF_8ToGBK(String str) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String(str.getBytes("UTF-8"), "GBK");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public static String UTF8ToGBK(String str) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String(str.getBytes("UTF-16BE"), "GBK");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public static String GBK(String str) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String(str.getBytes("GBK"),"GBK");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static String getStr(String str) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String temp_p = str;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp = sqlStrchop(temp);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return temp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp; </p>
<p><span style="COLOR: red">4、JDBC ODBC Bridge的Bug及其解决方法</span> </p>
<p>在编写一数据库管理程序时，发现JDBC-ODBC Bridge存在不易发现的Bug。在向数据表插入数据时，如果为英文字符，存储内容完全正确，如果存入中文字符，部分数据库只能存储前七八个中文字符，其他内容被截去，导致存储内容的不完整（有些数据库不存在这个问题，如Sybase SQL Anywhere 5.0。JDBC-ODBC Bridge还存在无法建表的Bug）。 </p>
<p>　　对于广大需要存储中文信息的Java程序员来说，这可是一个不好的消息。要么改用其他语言编程，要么选择其他价格昂贵的数据库产品。&#8220;一次编写，到处运行&#8221;的目标，也大打折扣。能不能采用变通的方法，将中文信息进行处理后再存储来解决这个问题呢？答案是肯定的。 </p>
<p>　　解决问题的具体思路、方法 <br>　　Java采用Unicode码编码方式，中英文字符均采用16bit存储。既然存储英文信息是正确的，根据一定规则，将中文信息转换成英文信息后存储，自然不会出现截尾现象。读取信息时再进行逆向操作，将英文信息还原成中文信息即可。由GB2312编码规则可知，汉字一般为二个高位为1的ASCII码，在转换时将一个汉字的二个高位1去掉，还原时再将二个高位1加上。为了处理含有英文字符的中文字串，对英文字符则需要加上一个Byte 0标记。以下提供的两个公用静态方法，可加入任何一个类中使用。 </p>
<p>　　将中英文字串转换成纯英文字串 <br>　　public static String toTureAsciiStr(String str){ </p>
<p>　　StringBuffer sb = new StringBuffer(); </p>
<p>　　byte[] bt = str.getBytes(); </p>
<p>　　for(int i =0 ;i〈bt.length;i++){ </p>
<p>　　if(bt[i]〈0){ </p>
<p>　　//是汉字去高位1 </p>
<p>　　sb.append((char)(bt[i]&amp;&amp;0x7f)); </p>
<p>　　 }else{//是英文字符 补0作记录 </p>
<p>　　sb.append((char)0); </p>
<p>　　sb.append((char)bt[i]); </p>
<p>　　 } </p>
<p>　　 } </p>
<p>　　return sb.toString(); </p>
<p>　　} </p>
<p>　　将经转换的字串还原 <br>　　public static String unToTrueAsciiStr(String str){ </p>
<p>　　 byte[] bt = str.getBytes(); </p>
<p>　　 int i,l=0,length = bt.length,j=0; </p>
<p>　　 for(i = 0;i〈length;i++){ </p>
<p>　　 if(bt[i] == 0){ </p>
<p>　　 l++; </p>
<p>　　 } </p>
<p>　　 } </p>
<p>　　 byte []bt2 = new byte[length-l]; </p>
<p>　　 for(i =0 ;i〈length;i++){ </p>
<p>　　 if(bt[i] == 0){ </p>
<p>　　 i++; </p>
<p>　　 bt2[j] = bt[i]; </p>
<p>　　 }else{ </p>
<p>　　 bt2[j] = (byte)(bt[i]|0x80); </p>
<p>　　 } </p>
<p>　　 j++; </p>
<p>　　 } </p>
<p>　　String tt = new String(bt2); </p>
<p>　　return tt; </p>
<p>　　} </p>
<p>　　上例在实际编程中效果很好，只是存储的中文信息需要经过同样处理，才能被其他系统使用。而且如果中文字串出现英文字符，实际上增加了额外的存储空间。<br><br><span style="COLOR: red">5、Solaris下Servlet编程的中文问题及解决办法 <br></span>在使用Java开发Internet上的一个应用系统时，发现在Windows下调试完全正常的Servlet，上传到Solaris 服务器上，运行却出现故障——返回的网页不能显示中文，应为中文的信息全为乱码；用中文信息做关键字，不能正确检索数据库。后来采用加入检查代码等方法探知故障原因如下： </p>
<p>　　显示乱码主要是因为通过类 HttpServletResponse提供的方法setContentType 无法改变返回给客户的数据的编码方式，正确的编码方式应为GB2312或者GBK，而事实上为缺省的ISO8859-1。无法检索中文信息则是因为，客户提交的中文信息经浏览器编码到达服务器后，Servlet无法将其正确解码。 </p>
<p>　　举例说明显示乱码解决方法 <br>　　Servlet 一般通常做法如下： </p>
<p>　　public class ZldTestServlet extends HttpServlet { </p>
<p>　　public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{ </p>
<p>　　//在使用 Writer向浏览器返回数据前，设置 content-type header ，在这里设置相应的字符集gb2312 </p>
<p>　　response.setContentType("text/html;charset=gb2312"); </p>
<p>　　PrintWriter out = response.getWriter(); //* </p>
<p>　　// 正式返回数据 </p>
<p>　　out.println("〈html〉〈head〉〈title〉Servlet test〈/title〉〈/head〉" ); </p>
<p>　　out.println("这是一个测试页！"); </p>
<p>　　out.println("〈/body〉〈/html〉"); </p>
<p>　　out.close(); </p>
<p>　　} </p>
<p>　　 ... </p>
<p>　　} </p>
<p>　　解决页面显示乱码问题，需将*处代码换成如下内容： </p>
<p>　　PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),"gb2312")); </p>
<p>　　Solaris中文信息检索问题的解决 <br>　　浏览器利用表单向服务器提交信息时，一般采用x-www-form-urlencoded 的MIME格式对数据进行编码。如果使用get方法，参数名称和参数值经编码后附加在URL后，在Java中称作查询串（query string）。 </p>
<p>　　在Servlet程序中，如果采用ServletRequest的方法getParameter取得参数值，在Solaris环境下，对汉字却不能正确解码。因而无法正确检索数据库。 </p>
<p>　　在Java 1.2的包——java.net中提供了URLEncode和URLDecode类。类URLEncode提供了按x-www-form-urlencoded格式对给定串进行转换的方法。类URLEncode则提供了逆方法。 </p>
<p><span style="COLOR: red">6、Common Mail乱码问题</span><br>common mail是一个小而方便的mail包，他实现了对Java Mail的封装，使用起来十分的方便，但是我在使用他的时候发现，使用纯文本的内容发送，结果是乱码，代码如下：<br>public class TestCommonMail {<br>public static void main(String[] args) throws EmailException, MessagingException {<br>SimpleEmail email = new SimpleEmail();<br>email.setCharset("GB2312");<br>email.setHostName("smtp.163.com");<br>email.setSubject("test");<br>email.addTo("<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">test@163.com</a>");<br>email.setFrom("<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">test@163.com</a>");<br>email.setMsg("我的测试");<br>email.setAuthentication("test", "test");<br>email.send();<br>}<br>}</p>
<p>分析了一下commons mail的源码找到了原因。源码如下:<br>public class SimpleEmail extends Email<br>{<br>public Email setMsg(String msg) throws EmailException, MessagingException<br>{<br>if (EmailUtils.isEmpty(msg))<br>{<br>throw new EmailException("Invalid message supplied");<br>}</p>
<p>setContent(msg, TEXT_PLAIN);<br>return this;<br>}<br>}</p>
<p>Email代码片段<br>public void setContent(Object aObject, String aContentType)<br>{<br>this.content = aObject;<br>if (EmailUtils.isEmpty(aContentType))<br>{<br>this.contentType = null;<br>}<br>else<br>{<br>// set the content type<br>this.contentType = aContentType;</p>
<p>// set the charset if the input was properly formed<br>String strMarker = "; charset=";<br>int charsetPos = aContentType.toLowerCase().indexOf(strMarker);<br>if (charsetPos != -1)<br>{<br>// find the next space (after the marker)<br>charsetPos += strMarker.length();<br>int intCharsetEnd =<br>aContentType.toLowerCase().indexOf(" ", charsetPos);</p>
<p>if (intCharsetEnd != -1)<br>{<br>this.charset =<br>aContentType.substring(charsetPos, intCharsetEnd);<br>}<br>else<br>{<br>this.charset = aContentType.substring(charsetPos);<br>}<br>}<br>}<br>}</p>
<p>email.send();的send方法将调用<br>public void buildMimeMessage() throws EmailException<br>{<br>try<br>{<br>this.getMailSession();<br>this.message = new MimeMessage(this.session);</p>
<p>if (EmailUtils.isNotEmpty(this.subject))<br>{<br>if (EmailUtils.isNotEmpty(this.charset))<br>{<br>this.message.setSubject(this.subject, this.charset);<br>}<br>else<br>{<br>this.message.setSubject(this.subject);<br>}<br>}</p>
<p>// ========================================================<br>// Start of replacement code<br>if (this.content != null)<br>{<br>this.message.setContent(this.content, this.contentType);<br>}<br>// end of replacement code<br>// ========================================================<br>else if (this.emailBody != null)<br>{<br>this.message.setContent(this.emailBody);<br>}<br>else<br>{<br>this.message.setContent("", Email.TEXT_PLAIN);<br>}</p>
<p>if (this.fromAddress != null)<br>{<br>this.message.setFrom(this.fromAddress);<br>}<br>else<br>{<br>throw new EmailException("Sender address required");<br>}</p>
<p>if (this.toList.size() + this.ccList.size() + this.bccList.size() == 0)<br>{<br>throw new EmailException(<br>"At least one receiver address required");<br>}</p>
<p>if (this.toList.size() &gt; 0)<br>{<br>this.message.setRecipients(<br>Message.RecipientType.TO,<br>this.toInternetAddressArray(this.toList));<br>}</p>
<p>if (this.ccList.size() &gt; 0)<br>{<br>this.message.setRecipients(<br>Message.RecipientType.CC,<br>this.toInternetAddressArray(this.ccList));<br>}</p>
<p>if (this.bccList.size() &gt; 0)<br>{<br>this.message.setRecipients(<br>Message.RecipientType.BCC,<br>this.toInternetAddressArray(this.bccList));<br>}</p>
<p>if (this.replyList.size() &gt; 0)<br>{<br>this.message.setReplyTo(<br>this.toInternetAddressArray(this.replyList));<br>}</p>
<p>if (this.headers.size() &gt; 0)<br>{<br>Iterator iterHeaderKeys = this.headers.keySet().iterator();<br>while (iterHeaderKeys.hasNext())<br>{<br>String name = (String) iterHeaderKeys.next();<br>String value = (String) headers.get(name);<br>this.message.addHeader(name, value);<br>}<br>}</p>
<p>if (this.message.getSentDate() == null)<br>{<br>this.message.setSentDate(getSentDate());<br>}</p>
<p>if (this.popBeforeSmtp)<br>{<br>Store store = session.getStore("pop3");<br>store.connect(this.popHost, this.popUsername, this.popPassword);<br>}<br>}<br>catch (MessagingException me)<br>{<br>throw new EmailException(me);<br>}<br>}<br>由代码可以知道纯文本方式最终调用了Java Mail的<br>message.setContent(this.content, this.contentType);<br>content是内容<br>contentType是类型，如text/plain,<br>(我们可以试试直接用Java mail发邮件，设置文本内容不使用setText方法，也使用setContent("测试", "text/plain")方式，你可以看到内容也是乱码)<br>关键就在于text/plain，我们改成text/plain;charset=gb2312，ok乱码解决了。在commons mail我们看SimpleEmail 类中setMsg方法调用的就是 setContent(msg, TEXT_PLAIN);我们只需要将Email类中的常量TEXT_PLAIN修改一下加入 charset=你的字符集 ，重新打包jar，这样就可以了</p>
<p><span style="COLOR: red">7、toad的字符集的设置与oracle的安装</span><br>oracle数据库服务器的安装一般是中文字符集，有时安装在不同的平台下，设置为ISO编码，toad是oracle开发的最好工具，不是我说的，可是中文环境下安装的toad，打开英文字符的oracle时，中文全是乱码。必须进行设置</p>
<p>环境变量---〉系统变量<br>加<br>&nbsp; NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK<br>&nbsp; 或<br>&nbsp; NLS_lANG=AMERICAN_AMERICA.WE8ISO8859P1</p>
<p>AMERICAN_AMERICA.WE8MSWIN1252<br>&nbsp;<br>&nbsp;或者</p>
<p>&nbsp;打开注册表，点击HKEY_LOCAL_MATHINE<br>再点击Software,再点击ORACLE<br>在点击HOME（ORACLE所在目录）<br>在注册表的右半面有NLS_LANG,<br>双击它，将你想要的覆盖掉原来的就可以了<br>最好记下旧的，以便可以改回来。</p>
<p><br>connect sys/chang_on_install<br>update props$<br>set value$='ZHS16CGB231280'<br>where name='NLS_CHARACTERSET';<br>commit;<br>&nbsp;这样就OK了</p>
<p>&nbsp;<br><span style="COLOR: red">8、如何解決GWT(google web toolkit)中文的問題</span><br>GWT 中文乱码解决方法 </p>
<p>1.把你要显示的中文&#8220;测试字符串&#8221;输入到一个文件，如:1.txt <br>2.进入命令行,进入1.txt所在的目录,敲入以下命令:native2ascii.exe 1.txt 2.txt 回车。这样就生成了另外一个文件2.txt。 <br>3.2.txt的内容如下:\u6d4b\u8bd5\u5b57\u7b26\u4e32 <br>4.然后用上面的编码，在gwt中使用，就可以了. </p>
<p><span style="COLOR: red">9、xmlHttp得到的网页怎么是乱码？</span> <br>(1)在服务器端使用WebRequest而不是xmlHttp<br>(2) 将 </p>
<p>StreamReader sr = new StreamReader(stream);</p>
<p><br>对于简体中文改成：</p>
<p>StreamReader sr = new StreamReader(stream , Encoding.Default );<br>对于utf-8改成：</p>
<p><br>StreamReader sr = new StreamReader(stream , Encoding.UTF8 );<br>当然，Encoding枚举还有很多其他的成员，对于不同的编码content-type可以有选择的应用</p>
<p>(3)后来我发现无论是content-type是gb2312还是utf-8,用</p>
<p><br>StreamReader sr = new StreamReader(stream , Encoding.Default );</p>
<p>都可以返回正常的汉字，所以统一的改成Encoding.Default</p>
<p>&nbsp;</p>
<p><br>--------------------------------------------------------------------------------</p>
<p>最后，在服务器端从一个url获得网页的源代码的代码如下：</p>
<p>&nbsp;</p>
<p>/// &lt;summary&gt;<br>/// post一个指定的url，获得网页的源代码(用WebRequest实现)<br>/// &lt;/summary&gt;<br>/// &lt;param name="url"&gt;&lt;/param&gt;<br>/// &lt;returns&gt;<br>/// 如果请求失败，返回null<br>/// 如果请求成功，返回网页的源代码<br>/// &lt;/returns&gt;<br>public static string GetContentFromUrl2( string url )<br>{<br>&nbsp;&nbsp;&nbsp; //变量定义<br>&nbsp;&nbsp;&nbsp; string respstr;</p>
<p>&nbsp;&nbsp;&nbsp; WebRequest myWebRequest=WebRequest.Create(url);<br>&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myWebRequest.PreAuthenticate=true;<br>&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetworkCredential networkCredential=new NetworkCredential( username , password , domain );<br>&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myWebRequest.Credentials=networkCredential;</p>
<p>&nbsp;&nbsp;&nbsp; // Assign the response object of 'WebRequest' to a 'WebResponse' variable.<br>&nbsp;&nbsp;&nbsp; WebResponse myWebResponse=myWebRequest.GetResponse();<br>&nbsp;&nbsp;&nbsp; System.IO.Stream stream = myWebResponse.GetResponseStream();<br>&nbsp;&nbsp;&nbsp; StreamReader sr = new StreamReader(stream , Encoding.Default );<br>&nbsp;&nbsp;&nbsp; //以字符串形式读取数据流<br>&nbsp;&nbsp;&nbsp; respstr = sr.ReadToEnd();<br>&nbsp;&nbsp;&nbsp; sr.Close(); <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; return respstr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>}</p>
<p><span style="COLOR: red">10、解决weblogic／webshpere中文问题：</span> <br>在web.xml文件中需要配置中文环境。r如下： <br>&lt;context-param&gt; <br>&nbsp;&nbsp;&lt;param-name&gt;weblogic.httpd.inputCharset./*&lt;/param-name&gt; <br>&nbsp;&nbsp;&lt;param-value&gt;GB2312&lt;/param-value&gt; <br>&lt;/context-param&gt;</p>
<img src ="http://www.blogjava.net/soddabao/aggbug/136360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-08-13 13:32 <a href="http://www.blogjava.net/soddabao/archive/2007/08/13/136360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse3.3+myeclipse6</title><link>http://www.blogjava.net/soddabao/archive/2007/07/20/131416.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Fri, 20 Jul 2007 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/07/20/131416.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/131416.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/07/20/131416.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/131416.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/131416.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之前因为用ajax的一个eclipse插件，下了3.2，使用还是不错，只是使用cvs同步代码的时候，发现出了点问题，同步会出各种各样的bug，基本上让我受不了，就天天等出3.3，3.3出来后马上就down，发现myeclipse用不了，因为做web项目没有myeclipse插件，所以3.3还是用不了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前天在网上看到出了myeclipse6，说支持3.3，二话不说就下，今天上午就把3.3＋myeclipse配置起来，感觉还不错，带了不少插件，myeclipse注册后，正常启动没有任何问题。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发现之前网上说3.3在进程中没有javaw.exe,启动后把项目导入，也发现没有，进程中只有一个eclipse.exe，还真是不错，javaw那个运行eclipse时间长了会出现两个，太消耗内存，在eclipse配置启动参数也是无济于事的，现在一切都好了。有了3.3就不怕eclipse占有内存了。<br><br><br><img src="http://www.blogjava.net/images/blogjava_net/soddabao/eclipse3.3.GIF" border=0>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这一周忙死了，本来有很多东西要写，因为大多数是纯技术的，再加上是部门原创的，要求保密没办法了，我发现其实也没什么，就想不明白为什么还要求保密？搞不清......<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 昨天妹妹还问我，怎么好几天都不写blog，我甚是感动，其实妹妹也知道我忙，再次感谢妹妹的关注。同时也感谢blogjava中没一个网友。 
<img src ="http://www.blogjava.net/soddabao/aggbug/131416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-07-20 10:33 <a href="http://www.blogjava.net/soddabao/archive/2007/07/20/131416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关java中时间格式的调整</title><link>http://www.blogjava.net/soddabao/archive/2007/06/30/127189.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Fri, 29 Jun 2007 17:09:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/06/30/127189.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/127189.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/06/30/127189.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/127189.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/127189.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在java中获取一个时间或者是处理时间数据时，往往会发现时间的格式不是我们所需要的。这个时候如果把时间转化成字符串，然后在处理是可以，不过呢？你会不会觉得很是麻烦。我个人认为在一个大型的项目对字符串操作多了，不是什么好事。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你常用java API文档你会发现这个类的SimpleDateFormat，这个类就是格式化时间的。<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用方法也是很简单的<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">SimpleDateFormat&nbsp;&nbsp;&nbsp;form&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;SimpleDateFormat(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyyyMMddHHmmss</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>form.format(时间);</span></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中SimpleDateFormat构造函数内的字符串就是格式化输入的格式：<br>&nbsp;&nbsp;&nbsp;&nbsp;
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">字母&nbsp;&nbsp;日期或时间元素&nbsp;&nbsp;表示&nbsp;&nbsp;示例&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>G&nbsp;&nbsp;Era&nbsp;标志符&nbsp;&nbsp;Text&nbsp;&nbsp;AD&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>y&nbsp;&nbsp;年&nbsp;&nbsp;Year&nbsp;&nbsp;</span><span style="COLOR: #000000">1996</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #000000">96</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>M&nbsp;&nbsp;年中的月份&nbsp;&nbsp;Month&nbsp;&nbsp;July;&nbsp;Jul;&nbsp;</span><span style="COLOR: #000000">07</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>w&nbsp;&nbsp;年中的周数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">27</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>W&nbsp;&nbsp;月份中的周数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>D&nbsp;&nbsp;年中的天数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">189</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>d&nbsp;&nbsp;月份中的天数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>F&nbsp;&nbsp;月份中的星期&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>E&nbsp;&nbsp;星期中的天数&nbsp;&nbsp;Text&nbsp;&nbsp;Tuesday;&nbsp;Tue&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>a&nbsp;&nbsp;Am</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">pm&nbsp;标记&nbsp;&nbsp;Text&nbsp;&nbsp;PM&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>H&nbsp;&nbsp;一天中的小时数（</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">23</span><span style="COLOR: #000000">）&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>k&nbsp;&nbsp;一天中的小时数（</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">24</span><span style="COLOR: #000000">）&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">24</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>K&nbsp;&nbsp;am</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">pm&nbsp;中的小时数（</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">11</span><span style="COLOR: #000000">）&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>h&nbsp;&nbsp;am</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">pm&nbsp;中的小时数（</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">）&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>m&nbsp;&nbsp;小时中的分钟数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>s&nbsp;&nbsp;分钟中的秒数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">55</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>S&nbsp;&nbsp;毫秒数&nbsp;&nbsp;Number&nbsp;&nbsp;</span><span style="COLOR: #000000">978</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>z&nbsp;&nbsp;时区&nbsp;&nbsp;General&nbsp;time&nbsp;zone&nbsp;&nbsp;Pacific&nbsp;Standard&nbsp;Time;&nbsp;PST;&nbsp;GMT</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">08</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">00</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>Z&nbsp;&nbsp;时区&nbsp;&nbsp;RFC&nbsp;</span><span style="COLOR: #000000">822</span><span style="COLOR: #000000">&nbsp;time&nbsp;zone&nbsp;&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">0800</span><span style="COLOR: #000000">&nbsp;</span></div>
说明一下：<br>模式字母通常是重复的，其数量确定其精确表示： <br>Text: 对于格式化来说，如果模式字母的数量大于或等于 4，则使用完全形式；否则，在可用的情况下使用短形式或缩写形式。对于分析来说，两种形式都是可接受的，与模式字母的数量无关。 <br>Number: 对于格式化来说，模式字母的数量是最小的数位，如果数位不够，则用 0 填充以达到此数量。对于分析来说，模式字母的数量被忽略，除非必须分开两个相邻字段。 <br>Year: 对于格式化来说，如果模式字母的数量为 2，则年份截取为 2 位数,否则将年份解释为 number。 <br>对于分析来说，如果模式字母的数量大于 2，则年份照字面意义进行解释，而不管数位是多少。因此使用模式 "MM/dd/yyyy"，将 "01/11/12" 分析为公元 12 年 1 月 11 日。 <br>
<img src ="http://www.blogjava.net/soddabao/aggbug/127189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-06-30 01:09 <a href="http://www.blogjava.net/soddabao/archive/2007/06/30/127189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NetBeans 和Eclipse共用项目！</title><link>http://www.blogjava.net/soddabao/archive/2007/06/21/125644.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Thu, 21 Jun 2007 10:43:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/06/21/125644.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/125644.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/06/21/125644.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/125644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/125644.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在NetBeans新建一个项目！，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;把这个项目的源文件目录加删除！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在把Eclipse的项目下面那个源文件目录添加进来<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;把所有项目应用包添加到项目<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web项目把web文件目录位置改变就ok<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改web项目的class存放路径：在在nbproject\project.properties下的&nbsp; uild.classes.dir=ept/WEB-INF/classes 改成你存放class的路径就可以。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后修改一个快捷键：eclipse的内容辅助键，netbean的修改办法：其他 显示代码完成弹出式菜单 改为ALT+SLASH。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 个人感觉nb不错，不过eclipse用的时间比较长，感情就比较深，nb现在还不是很流行。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实java的ide工具eclipse、jbuild和现在的netbean都差不多，只是个人习惯了^_^
<img src ="http://www.blogjava.net/soddabao/aggbug/125644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-06-21 18:43 <a href="http://www.blogjava.net/soddabao/archive/2007/06/21/125644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天面试的时候，发现已题来面试的大多没答对</title><link>http://www.blogjava.net/soddabao/archive/2007/05/16/117911.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Wed, 16 May 2007 10:36:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/05/16/117911.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/117911.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/05/16/117911.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/117911.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/117911.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;公司因业务扩展，需要扩大队伍，再这里也做一下广告，欢迎大家都来，我们单位不错，2006年年度最佳雇主的单位，不过招人是福建本地。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实这道题不难，只是一个多态的问题，这也是面向对象语言中的比较重要的一点(我个人认为)，题目是这样<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_15_156_Open_Image onclick="this.style.display='none'; Codehighlighter1_15_156_Open_Text.style.display='none'; Codehighlighter1_15_156_Closed_Image.style.display='inline'; Codehighlighter1_15_156_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_15_156_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_15_156_Closed_Text.style.display='none'; Codehighlighter1_15_156_Open_Image.style.display='inline'; Codehighlighter1_15_156_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;A&nbsp;</span><span id=Codehighlighter1_15_156_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_15_156_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_30_59_Open_Image onclick="this.style.display='none'; Codehighlighter1_30_59_Open_Text.style.display='none'; Codehighlighter1_30_59_Closed_Image.style.display='inline'; Codehighlighter1_30_59_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_30_59_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_59_Closed_Text.style.display='none'; Codehighlighter1_30_59_Open_Image.style.display='inline'; Codehighlighter1_30_59_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;A&nbsp;()&nbsp;</span><span id=Codehighlighter1_30_59_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_30_59_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;d</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2.0</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_101_154_Open_Image onclick="this.style.display='none'; Codehighlighter1_101_154_Open_Text.style.display='none'; Codehighlighter1_101_154_Closed_Image.style.display='inline'; Codehighlighter1_101_154_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_101_154_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_101_154_Closed_Text.style.display='none'; Codehighlighter1_101_154_Open_Image.style.display='inline'; Codehighlighter1_101_154_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;show()&nbsp;</span><span id=Codehighlighter1_101_154_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_101_154_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Class&nbsp;A:&nbsp;a=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\tb=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">d);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_25_202_Open_Image onclick="this.style.display='none'; Codehighlighter1_25_202_Open_Text.style.display='none'; Codehighlighter1_25_202_Closed_Image.style.display='inline'; Codehighlighter1_25_202_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_25_202_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_25_202_Closed_Text.style.display='none'; Codehighlighter1_25_202_Open_Image.style.display='inline'; Codehighlighter1_25_202_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;B&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;A&nbsp;</span><span id=Codehighlighter1_25_202_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_25_202_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_38_68_Open_Image onclick="this.style.display='none'; Codehighlighter1_38_68_Open_Text.style.display='none'; Codehighlighter1_38_68_Closed_Image.style.display='inline'; Codehighlighter1_38_68_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_38_68_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_38_68_Closed_Text.style.display='none'; Codehighlighter1_38_68_Open_Image.style.display='inline'; Codehighlighter1_38_68_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;B()</span><span id=Codehighlighter1_38_68_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_38_68_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">B</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3.0f</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;d&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">java&nbsp;prog</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_127_200_Open_Image onclick="this.style.display='none'; Codehighlighter1_127_200_Open_Text.style.display='none'; Codehighlighter1_127_200_Closed_Image.style.display='inline'; Codehighlighter1_127_200_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_127_200_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_127_200_Closed_Text.style.display='none'; Codehighlighter1_127_200_Open_Image.style.display='inline'; Codehighlighter1_127_200_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;show()&nbsp;</span><span id=Codehighlighter1_127_200_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_127_200_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">super.show();</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">CLoas&nbsp;b=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\td=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;d);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<br>问在main方法中，这样定义输出是什么？<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;B();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(b.a);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.show();</span></div>
&nbsp;&nbsp;&nbsp;&nbsp; 其实就是的子与父的关系，你能答的出来么？不要想的太复杂了 <br>&nbsp;&nbsp;&nbsp; 
<img src ="http://www.blogjava.net/soddabao/aggbug/117911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-05-16 18:36 <a href="http://www.blogjava.net/soddabao/archive/2007/05/16/117911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读取远程文件，然后在指定目录下生成同样的文件</title><link>http://www.blogjava.net/soddabao/archive/2007/05/15/117720.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Tue, 15 May 2007 14:29:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/05/15/117720.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/117720.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/05/15/117720.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/117720.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/117720.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_77_733_Open_Image onclick="this.style.display='none'; Codehighlighter1_77_733_Open_Text.style.display='none'; Codehighlighter1_77_733_Closed_Image.style.display='inline'; Codehighlighter1_77_733_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_77_733_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_77_733_Closed_Text.style.display='none'; Codehighlighter1_77_733_Open_Image.style.display='inline'; Codehighlighter1_77_733_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;FileWrite(String&nbsp;ftp,String&nbsp;DXBS,String&nbsp;fileName,String&nbsp;fileExt)</span><span id=Codehighlighter1_77_733_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_77_733_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.net.URL&nbsp;urlfile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpURLConnection&nbsp;httpUrl&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_153_699_Open_Image onclick="this.style.display='none'; Codehighlighter1_153_699_Open_Text.style.display='none'; Codehighlighter1_153_699_Closed_Image.style.display='inline'; Codehighlighter1_153_699_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_153_699_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_153_699_Closed_Text.style.display='none'; Codehighlighter1_153_699_Open_Image.style.display='inline'; Codehighlighter1_153_699_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_153_699_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_153_699_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;连接指定的网络资源,获取网络输入流</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlfile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;java.net.URL(ftp</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">DXBS</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">fileName</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">fileExt);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpUrl&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(HttpURLConnection)&nbsp;urlfile.openConnection();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpUrl.connect();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;bytesum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;byteread&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;inStream&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;httpUrl.getInputStream();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.mkdir(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">d:/ftp/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">DXBS);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileOutputStream&nbsp;fs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;FileOutputStream(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">D:/ftp/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">DXBS</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">fileName</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">fileExt);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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;</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">1444</span><span style="COLOR: #000000">];<br><img id=Codehighlighter1_630_695_Open_Image onclick="this.style.display='none'; Codehighlighter1_630_695_Open_Text.style.display='none'; Codehighlighter1_630_695_Closed_Image.style.display='inline'; Codehighlighter1_630_695_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_630_695_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_630_695_Closed_Text.style.display='none'; Codehighlighter1_630_695_Open_Image.style.display='inline'; Codehighlighter1_630_695_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;((byteread&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;inStream.read(buffer))&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;</span><span id=Codehighlighter1_630_695_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_630_695_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytesum&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;byteread;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.write(buffer,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;byteread);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_721_726_Open_Image onclick="this.style.display='none'; Codehighlighter1_721_726_Open_Text.style.display='none'; Codehighlighter1_721_726_Closed_Image.style.display='inline'; Codehighlighter1_721_726_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_721_726_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_721_726_Closed_Text.style.display='none'; Codehighlighter1_721_726_Open_Image.style.display='inline'; Codehighlighter1_721_726_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id=Codehighlighter1_721_726_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_721_726_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_793_999_Open_Image onclick="this.style.display='none'; Codehighlighter1_793_999_Open_Text.style.display='none'; Codehighlighter1_793_999_Closed_Image.style.display='inline'; Codehighlighter1_793_999_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_793_999_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_793_999_Closed_Text.style.display='none'; Codehighlighter1_793_999_Open_Image.style.display='inline'; Codehighlighter1_793_999_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;mkdir(String&nbsp;mkdirName)&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;Exception&nbsp;</span><span id=Codehighlighter1_793_999_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_793_999_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;dirFile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;File(mkdirName);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000">&nbsp;bFile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dirFile.exists();<br><img id=Codehighlighter1_891_895_Open_Image onclick="this.style.display='none'; Codehighlighter1_891_895_Open_Text.style.display='none'; Codehighlighter1_891_895_Closed_Image.style.display='inline'; Codehighlighter1_891_895_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_891_895_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_891_895_Closed_Text.style.display='none'; Codehighlighter1_891_895_Open_Image.style.display='inline'; Codehighlighter1_891_895_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(bFile&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_891_895_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_891_895_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_902_995_Open_Image onclick="this.style.display='none'; Codehighlighter1_902_995_Open_Text.style.display='none'; Codehighlighter1_902_995_Closed_Image.style.display='inline'; Codehighlighter1_902_995_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_902_995_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_902_995_Closed_Text.style.display='none'; Codehighlighter1_902_995_Open_Image.style.display='inline'; Codehighlighter1_902_995_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_902_995_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_902_995_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bFile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dirFile.mkdir();<br><img id=Codehighlighter1_954_959_Open_Image onclick="this.style.display='none'; Codehighlighter1_954_959_Open_Text.style.display='none'; Codehighlighter1_954_959_Closed_Image.style.display='inline'; Codehighlighter1_954_959_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_954_959_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_954_959_Closed_Text.style.display='none'; Codehighlighter1_954_959_Open_Image.style.display='inline'; Codehighlighter1_954_959_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(bFile&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_954_959_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_954_959_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_966_991_Open_Image onclick="this.style.display='none'; Codehighlighter1_966_991_Open_Text.style.display='none'; Codehighlighter1_966_991_Closed_Image.style.display='inline'; Codehighlighter1_966_991_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_966_991_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_966_991_Closed_Text.style.display='none'; Codehighlighter1_966_991_Open_Image.style.display='inline'; Codehighlighter1_966_991_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_966_991_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_966_991_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.exit(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大家看代码，第一个方法是读取远程的文件，生成同样的目录文件，下面的方法是生成文件夹，想必这个大家应该都能清楚明了。
<img src ="http://www.blogjava.net/soddabao/aggbug/117720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-05-15 22:29 <a href="http://www.blogjava.net/soddabao/archive/2007/05/15/117720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【再次讨论】【转】Java程序性能和速度优化实例</title><link>http://www.blogjava.net/soddabao/archive/2007/04/04/108373.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Wed, 04 Apr 2007 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/04/04/108373.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/108373.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/04/04/108373.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/108373.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/108373.html</trackback:ping><description><![CDATA[<strong>例一：应用具有I/O Buffer功能Class</strong>
<p align=left>　　import java.io.*; <br>　　public class IoTest<br>　　{ <br>　　　public static void main(String args[])<br>　　　{ <br>　　　　try<br>　　　　{ <br>　　　　　FileReader fr = new FileReader(args[0]); <br>　　　　　BufferedReader br = new BufferedReader(fr); <br>　　　　　while ( br.readLine() != null )<br>　　　　　{ <br>　　　　　　System.out.println(" The file content are :" + br.readLine()); <br>　　　　　} <br>　　　　　fis.close(); <br>　　　　}<br>　　　　catch ( IOException ioe )<br>　　　　{ <br>　　　　　System.out.println("The I/O exception is " + ioe); <br>　　　　} <br>　　　} <br>　　} <br>　　　<br>　　在上例中，程序使用了具有Buffer功能的Class，使得Disk I/O的读取速度大大提高。BufferedReader 是取代DataInputStream 而提高读写速度的Java Class。在新的Java版本中，已不建议使用DataInputStream，因为其读写是基于字符为单位的。<br>　　　<br>　　<strong>例二：字符串运算处理</strong><br>　　　<br>　　public class StringOperation<br>　　{ <br>　　　public static void main(String args[])<br>　　　{ <br>　　　　String sqlQuery = null; <br>　　　　String sqlCondition = " conditionC = conditionD "); <br>　　　　StringBuffer sb = new StringBuffer(); <br>　　　　sb.append("select * from database table where "); <br>　　　　sb.append(" conditionA = conditionB and "); <br>　　　　if ( ! sqlCondition.equals(null)<br>　　　　{ <br>　　　　　sb.append(sqlCondition); <br>　　　　}<br>　　　　else<br>　　　　{ <br>　　　　　sb.append(" conditionE = conditionF "); <br>　　　　} <br>　　　　sqlQuery = sb.toString(); <br>　　　　// Then connect to the database then excute the database query <br>　　　　// ....... <br>　　　} <br>　　} <br>　　　<br>　　在上例中，使用StingBuffer class来完成数据库查询建立，避免使用String class的"+="操作，以减少JVM在内存中创建新的对象，占用资源，增加JVM回收资源负担。读者可以使用Java Proflier功能来具体比较使用不同的String操作，JVM需要完成多少资源回收和运行时间。因此在JVM中对String直接进行"+="是非常昂贵的运算。</p>
<p align=left>　　<strong>例三：处理昂贵的数据库初始化</strong></p>
<p align=left>　　目前许多网站可以透过Web服务器查询数据库，如何提高数据库查询速度成为许多程序员关注的问题。在Java Servlets或JSP中可以通过init() 或Jspinit()来实现，以下是一具体Java Servlet与数据库对话实例。<br>　　　　<br>　　import java.io.*; <br>　　import java.sql.*; <br>　　import javax.servlet.*; <br>　　import javax.servlet.http.*; <br>　　　<br>　　public class DatabaseServlet extends HttpServlet<br>　　{ <br>　　　public void init( ServletConfig conf) throws ServletException<br>　　　{ <br>　　　　super.init(conf); <br>　　　　Connection conn = null; <br>　　　　try<br>　　　　{<br>　　　　　Class.forName("sun.jdbc.odbc.JdcOdbcDriver"); <br>　　　　　Conn = DriverManager.getConnection("jdbc:odbc:yourDSN,"",""); <br>　　　　}<br>　　　　catch ( SQLException sqle )<br>　　　　{ <br>　　　　　System.err.println("your error exception is " + sqle); <br>　　　　}<br>　　　　catch ( ClassNotFoundException cnfe )<br>　　　　{ <br>　　　　　System.err.println("your error exception is " + cnfe); <br>　　　　} <br>　　　} <br>　　　public void doGet( HttpServletRequest req, HttpServletResponse res) throws <br>　　　ServletException, IOException<br>　　　{ <br>　　　　res.setContentType("text/html"); <br>　　　　ServletOutputStream out = null; <br>　　　　// Your HTML formatter <br>　　　　out.println(" Your HTML"); <br>　　　　try<br>　　　　{ <br>　　　　　Statement stmt = conn.creatStatement(); <br>　　　　　ResultSet rs = stmt.excuteQuery("select * from yourDatabasetable "); <br>　　　　　while ( rs.next() )<br>　　　　　{ <br>　　　　　　// Processing your data <br>　　　　　} <br>　　　　}<br>　　　　catch ( SQLException sqle )<br>　　　　{ <br>　　　　　out.println("The SQL error is " + sqle); <br>　　　　} <br>　　　　// output your processing result to HTML page <br>　　　　out.println(" your HTML"); <br>　　　　rs.close(); <br>　　　　stmt.close(); <br>　　　} <br>　　　public void destroy()<br>　　　{ <br>　　　　try<br>　　　　{ <br>　　　　　conn.close(); <br>　　　　}<br>　　　　catch ( SQLException sqle )<br>　　　　{ <br>　　　　　System.err.println("your SQL error is " + sqle); <br>　　　　} <br>　　　} <br>　　} <br>　　　<br>　　在上例中，由于Java Servlet运行机制的特点，将昂贵的数据库初始化运算在整个Servlet运行中仅只调用一次的init()中完成，以减少不必要的重复性数据库运算。读者可以根据应用的具体情况，甚至将数据库的Statement和ResultSet部分移至init()中完成，或者调用PreparedStatement与CallableStatement来优化数据库的运算。同时，对数据库的连接的关闭由destroy()一次性完成</p>
<img src ="http://www.blogjava.net/soddabao/aggbug/108373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/soddabao/" target="_blank">冷面阎罗</a> 2007-04-04 10:56 <a href="http://www.blogjava.net/soddabao/archive/2007/04/04/108373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关java远程读取文件的方法</title><link>http://www.blogjava.net/soddabao/archive/2007/04/03/108109.html</link><dc:creator>冷面阎罗</dc:creator><author>冷面阎罗</author><pubDate>Tue, 03 Apr 2007 00:57:00 GMT</pubDate><guid>http://www.blogjava.net/soddabao/archive/2007/04/03/108109.html</guid><wfw:comment>http://www.blogjava.net/soddabao/comments/108109.html</wfw:comment><comments>http://www.blogjava.net/soddabao/archive/2007/04/03/108109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/soddabao/comments/commentRss/108109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/soddabao/services/trackbacks/108109.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;word;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.FileOutputStream;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.InputStream;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.net.HttpURLConnection;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img id=Codehighlighter1_134_803_Open_Image onclick="this.style.display='none'; Codehighlighter1_134_803_Open_Text.style.display='none'; Codehighlighter1_134_803_Closed_Image.style.display='inline'; Codehighlighter1_134_803_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_134_803_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_134_803_Closed_Text.style.display='none'; Codehighlighter1_134_803_Open_Image.style.display='inline'; Codehighlighter1_134_803_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;FileRead&nbsp;</span><span id=Codehighlighter1_134_803_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_134_803_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img id=Codehighlighter1_176_801_Open_Image onclick="this.style.display='none'; Codehighlighter1_176_801_Open_Text.style.display='none'; Codehighlighter1_176_801_Closed_Image.style.display='inline'; Codehighlighter1_176_801_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_176_801_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_176_801_Closed_Text.style.display='none'; Codehighlighter1_176_801_Open_Image.style.display='inline'; Codehighlighter1_176_801_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_176_801_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_176_801_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;java.net.URL&nbsp;urlfile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;&nbsp;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HttpURLConnection&nbsp;httpUrl&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;&nbsp;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img id=Codehighlighter1_251_771_Open_Image onclick="this.style.display='none'; Codehighlighter1_251_771_Open_Text.style.display='none'; Codehighlighter1_251_771_Closed_Image.style.display='inline'; Codehighlighter1_251_771_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_251_7