??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩综合一区,中文字幕亚洲欧美日韩2019,男人的天堂久久http://www.aygfsteel.com/rox/category/14648.html静风云之挥意舒䏀残?/description>zh-cnFri, 29 Dec 2017 02:14:05 GMTFri, 29 Dec 2017 02:14:05 GMT60Java多层目录打包和解压代?apache commons compress, io, lang)http://www.aygfsteel.com/rox/archive/2009/11/12/302151.htmlroxroxThu, 12 Nov 2009 14:53:00 GMThttp://www.aygfsteel.com/rox/archive/2009/11/12/302151.htmlhttp://www.aygfsteel.com/rox/comments/302151.htmlhttp://www.aygfsteel.com/rox/archive/2009/11/12/302151.html#Feedback1http://www.aygfsteel.com/rox/comments/commentRss/302151.htmlhttp://www.aygfsteel.com/rox/services/trackbacks/302151.html阅读全文

rox 2009-11-12 22:53 发表评论
]]>
Java打多重zip压羃?-- ByteArrayOutputStreaml合org.apache.commons.compress来实?/title><link>http://www.aygfsteel.com/rox/archive/2009/07/02/285214.html</link><dc:creator>rox</dc:creator><author>rox</author><pubDate>Thu, 02 Jul 2009 09:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/rox/archive/2009/07/02/285214.html</guid><wfw:comment>http://www.aygfsteel.com/rox/comments/285214.html</wfw:comment><comments>http://www.aygfsteel.com/rox/archive/2009/07/02/285214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rox/comments/commentRss/285214.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rox/services/trackbacks/285214.html</trackback:ping><description><![CDATA[<p> </p> <p class="MsoNormal" style="mso-pagination:widow-orphan;mso-outline-level:1"><strong style="mso-bidi-font-weight:normal"><span lang="RU" style="font-size:13.5pt; mso-bidi-font-size:12.0pt">Java</span></strong><strong style="mso-bidi-font-weight:normal"><span style="font-size:13.5pt;mso-bidi-font-size:12.0pt;font-family:宋体;mso-bidi-font-family: 宋体">打多?/span></strong><strong style="mso-bidi-font-weight:normal"><span lang="RU" style="font-size:13.5pt;mso-bidi-font-size:12.0pt">zip压羃</span></strong><strong style="mso-bidi-font-weight:normal"><span style="font-size:13.5pt;mso-bidi-font-size: 12.0pt;font-family:宋体;mso-bidi-font-family:宋体">?/span></strong> </p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><strong style="mso-bidi-font-weight:normal"><span lang="RU">    -- ByteArrayOutputStream</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family:宋体;mso-bidi-font-family:宋体">l合</span><span lang="RU">org.apache.commons.compress</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family:宋体;mso-bidi-font-family:宋体">来实?/span></strong><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体">也就是很多个</span><span lang="RU">zip</span><span style="font-family:宋体;mso-bidi-font-family:宋体">文gQ但是打包的时候,部分要先集中C?/span><span lang="RU">zip</span><span style="font-family:宋体;mso-bidi-font-family:宋体">文g后,再写入ȝ</span><span lang="RU">zip</span><span style="font-family:宋体;mso-bidi-font-family:宋体">文g?/span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体">可以采用临时文g夹的方式来解冻I下面也是一U解x法,部分代码如下Q?/span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse; "> <tbody> <tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"> <td width="100%" style="width: 100%; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: #cccccc; padding-top: 2.25pt; padding-right: 2.25pt; padding-bottom: 2.25pt; padding-left: 2.25pt; "> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        File f1 = new File("C:/boot.ini"); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        File f2 = new File("C:/NTDETECT.COM"); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        final ByteArrayOutputStream baos = new ByteArrayOutputStream() ; </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        <span style="color:blue">//changed @ 2009</span></span><span style="font-family:宋体;mso-bidi-font-family: 宋体;color:blue">q?/span><span lang="RU" style="color:blue">7</span><span style="font-family:宋体;mso-bidi-font-family:宋体;color:blue">?/span><span lang="RU" style="color:blue">21</span><span style="font-family:宋体;mso-bidi-font-family: 宋体;color:blue">?/span><span lang="RU" style="color:blue">8:37:41</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="color:blue">        //ArchiveOutputStream ostemp = new ArchiveStreamFactory().createArchiveOutputStream("zip", baos); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="color:blue">        ZipArchiveOutputStream ostemp = new ZipArchiveOutputStream(baos);</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="color:blue">        ostemp.setEncoding("GBK");</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.putArchiveEntry(new ZipArchiveEntry(f1.getName())); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        IOUtils.copy(new FileInputStream(f1), ostemp); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.closeArchiveEntry(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.putArchiveEntry(new ZipArchiveEntry(f2.getName())); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        IOUtils.copy(new FileInputStream(f2), ostemp); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.closeArchiveEntry(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.finish(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ostemp.close(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        final OutputStream out = new FileOutputStream("c:/test.zip"); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream("zip", out); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        os.putArchiveEntry(new ZipArchiveEntry("</span><span style="font-family:宋体;mso-bidi-font-family: 宋体">打包</span><span lang="RU">.zip")); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        baos.writeTo(os); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        os.closeArchiveEntry(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        baos.close(); </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">        os.finish(); </span></p> <p class="MsoNormal" style="mso-pagination:widow-orphan"><span lang="RU">        os.close(); </span></p> </td> </tr> </tbody> </table> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="color:blue">[changed @ 2009</span><span style="font-family: 宋体;mso-bidi-font-family:宋体;color:blue">q?/span><span lang="RU" style="color:blue">7</span><span style="font-family:宋体;mso-bidi-font-family:宋体;color:blue">?/span><span lang="RU" style="color:blue">21</span><span style="font-family:宋体;mso-bidi-font-family: 宋体;color:blue">?/span><span lang="RU" style="color:blue">8:37:41]</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体;color:blue">当初查资料时Q就知道有个q错误Q自׃没发现过Q后来发现是因ؓ</span><span lang="RU" style="color:blue">winrar 3.8</span><span style="font-family:宋体; mso-bidi-font-family:宋体;color:blue">已经解决了这个问题?/span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体;color:blue">但是Z和其他兼容,修改了代码?/span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体">打包后效果如下图Q?/span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:660pt; height:324.75pt;mso-position-horizontal-relative:text; mso-position-vertical-relative:text'> <v:imagedata src="https://docs.google.com/File?id=ajfmzbdvh8wz_40fjxhwmfx_b" o:title="" /> </v:shape><![endif]--><img width="880" height="433" src="https://docs.google.com/File?id=ajfmzbdvh8wz_40fjxhwmfx_b" v:shapes="_x0000_i1025" alt="" /><span style="mso-spacerun:yes"> </span><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span style="font-family:宋体;mso-bidi-font-family:宋体">参考资料:</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan; mso-outline-level:1"><span lang="RU">1</span><span style="font-family:宋体; mso-bidi-font-family:宋体">?/span><span lang="RU" style="font-size:10.0pt; mso-bidi-font-size:12.0pt">Commons Compress</span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="font-size:13.5pt;mso-bidi-font-size:12.0pt"><a >http://labs.xiaonei.com/apache-mirror/commons/compress/binaries/commons-compress-1.0-bin.tar.gz</a></span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU">2</span><span style="font-family:宋体;mso-bidi-font-family:宋体">?/span><strong style="mso-bidi-font-weight:normal"><span lang="RU" style="font-family:"Courier New"">java.io.ByteArrayOutputStream</span></strong><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="font-size:13.5pt;mso-bidi-font-size:12.0pt"><a >http://java.sun.com/javase/6/docs/api/java/io/ByteArrayOutputStream.html</a></span><span lang="RU"> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU"><br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p class="MsoNormal" style="mso-margin-bottom-alt:auto;mso-pagination:widow-orphan"><span lang="RU" style="font-size:13.5pt;mso-bidi-font-size:12.0pt">3</span><span style="font-size:13.5pt;mso-bidi-font-size:12.0pt;font-family:宋体;mso-bidi-font-family: 宋体">、本文地址</span><span lang="RU"> </span></p> <p class="MsoNormal"><span lang="RU"><a >http://docs.google.com/View?id=ajfmzbdvh8wz_38ftxv59f6</a> <br style="mso-special-character:line-break" /> <br style="mso-special-character:line-break" /> </span></p> <p> </p> <img src ="http://www.aygfsteel.com/rox/aggbug/285214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rox/" target="_blank">rox</a> 2009-07-02 17:04 <a href="http://www.aygfsteel.com/rox/archive/2009/07/02/285214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache Solr集成至Tomcathttp://www.aygfsteel.com/rox/archive/2009/06/28/284436.htmlroxroxSat, 27 Jun 2009 17:19:00 GMThttp://www.aygfsteel.com/rox/archive/2009/06/28/284436.htmlhttp://www.aygfsteel.com/rox/comments/284436.htmlhttp://www.aygfsteel.com/rox/archive/2009/06/28/284436.html#Feedback0http://www.aygfsteel.com/rox/comments/commentRss/284436.htmlhttp://www.aygfsteel.com/rox/services/trackbacks/284436.html 

  Apache Solr集成至Tomcat

    原有pȝ已经开发,框架?span lang="RU">SSH为基Q页面编?span lang="RU">GBKQ数据库?span lang="RU">oracleQ容器ؓtomcat6Q需要整合全文检索,下面只是一个简单的整合试?/span>

1、嵌?span lang="RU">TomcatQ?/span>

解压 apache-solr-1.3.0.tgzQ拷?span lang="RU">apache-solr-1.3.0\example\example-DIH\solr目录?span lang="RU">Tomcat的安装目录后Q修?span lang="RU">solr目录中的solr.xmlQ屏?span lang="RU">rss部分的配|,内容如下Q?/span>

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<solr sharedLib="lib" persistent="true">
 <cores adminPath="/admin/cores">
  <core default="true" instanceDir="db" name="db"></core>
<!--
  <core default="false" instanceDir="rss" name="rss"></core>
 -->
 </cores>
</solr>

  • 删除Tomcat\solr\rss目录
  • Tomcat\solr\db\lib目录下添加必?span lang="RU">jarQ?span lang="RU">ojdbc14.jar?span lang="RU">slf4j-jdk14-1.5.5.jar?span lang="RU">slf4j-api-1.5.5.jar?span lang="RU">solr-dataimporthandler-1.4-SNAPSHOT.jar
  • apache-solr-1.3.0\example\webapps\solr.war?span lang="RU">Tomcat\webapps目录下?/span>
  • 创徏Tomcat\conf\Catalina\localhost\solr.xmlQ内容如下:

<Context docBase="${catalina.home}/webapps/solr.war" debug="0" crossContext="true" >
   <Environment name="solr/home" type="java.lang.String" value="${catalina.home}/solr" override="true" />
</Context>

  • 修改Tomcat\conf\server.xmlQ添加一个端口ؓ8983?/span>ConnectorQ内容如下:

<Connector port="8983" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" URIEncoding="UTF-8"/>





2、配|?/span>DataImportHandlerQ?/span>

change @ 2009q?/span>7?/span>1?/span>10:19:57

    主要修改Tomcat\solr\db\conf\db-data-config.xml?/span>Tomcat\solr\db\conf\schema.xml?/span>Tomcat\solr\db\conf\solrconfig.xmlQ三个配|文Ӟ

  • db-data-config.xml

<dataConfig>

    <dataSource driver="oracle.jdbc.driver.OracleDriver"

    url="jdbc:oracle:thin:@localhost:1521:orcl"

    user="solr" password="solr" batchSize="50"/>

    <document name="contents" >

        <entity name="content" pk="ID"

        query="select * from CONTENT"

        deltaQuery="select ID from CONTENT where to_char(PUBTIME,'yyyy-mm-dd hh24:mi:ss') > '${dataimporter.last_index_time}'"

        transformer="ClobTransformer">

            <field name="title" column="TITLE" />

            <field column="CONTENT" clob="true"/>

            <field name="pubtime" column="PUBTIME" />

        </entity>

    </document>

</dataConfig>

  • schema.xml

    ?/span>types标签最后,q加fieldtypeQ名UCؓtext_cjkQ中日韩分词分析器;

    ......



    <fieldtype name="text_cjk" class="solr.TextField"> 

      <analyzer class="org.apache.lucene.analysis.cjk.CJKAnalyzer"/> 

    </fieldtype>



 </types>



    屏蔽或清?/span><fields></fields>中的全部代码Qƈd如下内容Q?/span>

 <fields>

   <field name="id" type="slong" indexed="true" stored="true" required="true" /> 

   <field name="title" type="text_cjk" indexed="true" stored="false"/>

   <field name="content" type="text_cjk" indexed="true" stored="true"/>

   <field name="pubtime" type="date" indexed="true" stored="true"/>

   <field name="searchtext" type="text_cjk" indexed="true" stored="false" multiValued="true"/>

 </fields>



    修改默认唯一索引为先前定义的idQ?/span>

 <uniqueKey>id</uniqueKey>



    修改默认搜烦字段为先前定义的searchtextQƈ要搜烦?/span>title?/span>content都拷贝到searchtext中,方便l一索:

......



 <defaultSearchField>searchtext</defaultSearchField>

......



   <copyField source="title" dest="searchtext"/>

   <copyField source="content" dest="searchtext"/>

......

 

add @ 2009q?/span>7?/span>1?/span>10:19:57

  • solrconfig.xml

    修改<dataDir></dataDir>标签中的索数据存放\径。内容如下:

<dataDir>${catalina.home}/solr/db/data</dataDir>

 

 



3、导入和查询Q?/span>

  • 完全导入Q?/span>
    http://localhost:8983/solr/db/dataimport?command=full-import
  • 增量导入Q?/span>
    http://localhost:8983/solr/db/dataimport?command=delta-import
  • 查询
    http://localhost:8983/solr
    点击dbQ进入一个搜索页面,填入如下内容Q?/span>

pubtime:[2007-11-16T00:00:00Z TO 2008-11-28T00:00:00Z]

AND

工作;

pubtime desc

    点击搜烦Q测试?/span>

4?/span>xml解析Q?/span>

一个简?/span>solr查询l果的辅助搜索类Q内容如下:



import java.net.URL;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;



import org.dom4j.Document;

import org.dom4j.Node;

import org.dom4j.io.SAXReader;

import org.apache.commons.lang.time.DateUtils;



public class SolrUtils {

private List<Node> docs = new ArrayList<Node>();

private Number numFound = 0;

private Document doc;

public List<Node> getDocs() {

return docs;

}



public Number getNumFound() {

return numFound;

}

@SuppressWarnings("unchecked")

public SolrUtils(String urlString) {

doc = documentFromURL(urlString);

if (doc != null ) {

docs = (List<Node>)doc.selectNodes("/response/result/doc");

numFound = doc.numberValueOf("/response/result/@numFound");

}

}

public Document documentFromURL(String urlString){

try {

SAXReader reader = new SAXReader();

URL url = new URL(urlString);

       doc = reader.read(url);

       return doc;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



public static String valueOf(Object obj, String name){

return valueOf(obj, "str", name);

}

public static Date dateValueOf(Object obj, String name){

String[] parsePatterns = new String[]{

"yyyy-MM-dd'T'HH:mm:ss'Z'",

"yyyy-MM-dd'T'HH:mm:ss.S'Z'",

"yyyy-MM-dd'T'HH:mm:ss.SS'Z'",

"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",

};

try {

return DateUtils.parseDate(valueOf(obj, "date", name), parsePatterns);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static String valueOf(Object obj, String type, String name){

String path = "./" + type + "[@name='" + name + "']";

if (obj instanceof Node) {

Node n = (Node)obj;

return n.valueOf(path);

}

return "";

}

public static Number numberValueOf(Object obj, String type, String name){

String path = "./" + type + "[@name='" + name + "']";

if (obj instanceof Node) {

Node n = (Node)obj;

return n.numberValueOf(path);

}

return null;

}

public static void main(String[] args) throws Exception {

String url = "http://localhost:8983/solr/db/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on";

SolrUtils su = new SolrUtils(url);

System.out.println(su.getNumFound());

System.out.println(su.getDocs().size());

for (Node doc : su.getDocs()) {

System.out.println(valueOf(doc, "id"));

System.out.println(valueOf(doc, "title"));

System.out.println(dateValueOf(doc, "pubtime"));

}



}



}



参考资料:

1?/span>Apache Solr 的新Ҏ?/span>

http://www.ibm.com/developerworks/cn/java/j-solr-update/



2?/span>Solr开发经?/span>[?/span>]

http://www.jinsehupan.com/blog/?p=25



3?/span>slf4j-jdk14-1.5.5.jar?/span>slf4j-api-1.5.5.jar?/span>solr-dataimporthandler-1.4-SNAPSHOT.jar

https://svn.apache.org/repos/asf/lucene/solr/trunk/lib/slf4j-jdk14-1.5.5.jar

https://svn.apache.org/repos/asf/lucene/solr/trunk/lib/slf4j-api-1.5.5.jar

http://people.apache.org/repo/m2-snapshot-repository/org/apache/solr/solr-dataimporthandler/1.4-SNAPSHOT/solr-dataimporthandler-1.4-SNAPSHOT.jar



4、本文地址

http://docs.google.com/View?id=ajfmzbdvh8wz_37f4jv46gb










rox 2009-06-28 01:19 发表评论
]]>
Java的本地化?/title><link>http://www.aygfsteel.com/rox/archive/2005/10/12/15336.html</link><dc:creator>rox</dc:creator><author>rox</author><pubDate>Wed, 12 Oct 2005 08:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/rox/archive/2005/10/12/15336.html</guid><wfw:comment>http://www.aygfsteel.com/rox/comments/15336.html</wfw:comment><comments>http://www.aygfsteel.com/rox/archive/2005/10/12/15336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rox/comments/commentRss/15336.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rox/services/trackbacks/15336.html</trackback:ping><description><![CDATA[从尚兴林的blog“struts 中文问题解决Ҏ”中发现的本地化Ҏ?br> <a onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">http://blogger.org.cn/blog<wbr>/more.asp?name=dashee&id=7228</a><br> <br>     public static String toNative(String s) {<br>         int j = 0;<br>         if (s == null || s.length() == 0)<br>             return null;<br>         byte buffer[] = new byte[s.length() * 2];<br>         for (int i = 0; i < s.length(); i++)<br>             if (s.charAt(i) >= '\u0100') {<br>                 char c = s.charAt(i);<br>                 byte buf[] = ("" + c).getBytes();<br>                 buffer[j++] = buf[0];<br>                 buffer[j++] = buf[1];<br>             } else {<br>                 buffer[j++] = (byte) s.charAt(i);<br>             }<br>         return new String(buffer, 0, j);<br>     }<br> <br> <img src ="http://www.aygfsteel.com/rox/aggbug/15336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rox/" target="_blank">rox</a> 2005-10-12 16:14 <a href="http://www.aygfsteel.com/rox/archive/2005/10/12/15336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDK 1.5 文档Qchm版)http://www.aygfsteel.com/rox/archive/2005/08/28/11363.htmlroxroxSun, 28 Aug 2005 05:09:00 GMThttp://www.aygfsteel.com/rox/archive/2005/08/28/11363.htmlhttp://www.aygfsteel.com/rox/comments/11363.htmlhttp://www.aygfsteel.com/rox/archive/2005/08/28/11363.html#Feedback10http://www.aygfsteel.com/rox/comments/commentRss/11363.htmlhttp://www.aygfsteel.com/rox/services/trackbacks/11363.html首先Q访问Java的官方网站的JDK在线文档的首?br />http://java.sun.com/j2se/1.4.2/docs/index.html
览到底部,正文的最后一条内容如下:

Java Documentation in HTMLHelp and WinHelp Formats
For Windows users.

点击以后q入Java官方推荐 chm?JDK 文档先导?br />http://java.sun.com/docs/windows_format.html
可以很明昄看到

Download with English Instructions

点击后,q入一个法国网?br />http://www.allimant.org/javadoc/indexe.html
q入后,大家可以根据自q需要来下蝲了?br />
地址更新Q?br />
https://javadoc.allimant.org/


rox 2005-08-28 13:09 发表评论
]]>
վ֩ģ壺 ڶ| ̫| ͩ| | ˫| ƽ| | | | | | Զ| | Ѯ| | | ǧ| ˮ| | Ĭ| ʯ| ƽ| | | | | ̫| | | | Т| ʡ| | | | ˳ƽ| | ȷ| | | |