﻿<?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-Natural-随笔分类-JAVA</title><link>http://www.blogjava.net/Man/category/45905.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 13 Dec 2012 16:40:06 GMT</lastBuildDate><pubDate>Thu, 13 Dec 2012 16:40:06 GMT</pubDate><ttl>60</ttl><item><title>JOptionPane对话框应用</title><link>http://www.blogjava.net/Man/archive/2012/12/12/JOptionPane.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Wed, 12 Dec 2012 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2012/12/12/JOptionPane.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/392864.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2012/12/12/JOptionPane.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/392864.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/392864.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: <br>1、JOptionPane应用举例<br>2、获取JOptionPane中的图标资源<br>3、 API部分文档描述.&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2012/12/12/JOptionPane.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/392864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2012-12-12 15:03 <a href="http://www.blogjava.net/Man/archive/2012/12/12/JOptionPane.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将JTable中的数据导出为csv/xls格式</title><link>http://www.blogjava.net/Man/archive/2012/12/12/392859.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Wed, 12 Dec 2012 05:34:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2012/12/12/392859.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/392859.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2012/12/12/392859.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/392859.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/392859.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: <br>1、JFileChooser保存到本地<br><br>2、JTable数据导出为csv/xls格式&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2012/12/12/392859.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/392859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2012-12-12 13:34 <a href="http://www.blogjava.net/Man/archive/2012/12/12/392859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JTable监听列宽变动</title><link>http://www.blogjava.net/Man/archive/2012/10/15/389558.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Mon, 15 Oct 2012 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2012/10/15/389558.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/389558.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2012/10/15/389558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/389558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/389558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 监听JTable的列宽拖动，在结束拖动时完成业务逻辑&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2012/10/15/389558.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/389558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2012-10-15 11:15 <a href="http://www.blogjava.net/Man/archive/2012/10/15/389558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>castor应用demo</title><link>http://www.blogjava.net/Man/archive/2012/08/22/386050.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Wed, 22 Aug 2012 09:06:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2012/08/22/386050.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/386050.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2012/08/22/386050.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/386050.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/386050.html</trackback:ping><description><![CDATA[它要做到就是把xml到bean的互相转换。<br />bean中稍微要注意点的地方：<br />1、bean要有默认的构造方法；<br />2、持久化的属性要有相应的get/set方法。<br /><br />还有一个就是根据mapping来定义xml文档的结构，和相应的调整xml格式的方法。<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;testMarshal()&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;Exception{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student&nbsp;bean&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Student(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Jack</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;tcrList&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ArrayList</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcrList.add(&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Teacher(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Miss&nbsp;Z</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">History</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcrList.add(&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Teacher(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Miss&nbsp;X</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">English</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bean.setTcrList(&nbsp;tcrList&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&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(&nbsp;FILENAME&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;writer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileWriter(&nbsp;file&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Marshaller&nbsp;m&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Marshaller(&nbsp;writer&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mapping&nbsp;mapping&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Mapping();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mapping.loadMapping(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">mapping.xml</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.setMapping(&nbsp;mapping&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.setEncoding(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.marshal(&nbsp;bean&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;1.读取student.xml文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;unFormattedXml&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;CastorUtil.readFile(&nbsp;FILENAME&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;2.格式化XML文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;formattedXml&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;CastorUtil.formatXML(&nbsp;unFormattedXml&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;3.写入到student.xml文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CastorUtil.writeFile(&nbsp;FILENAME,&nbsp;formattedXml,&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;testUnmarshal()&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;Exception{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&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(&nbsp;FILENAME&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reader&nbsp;reader&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileReader(&nbsp;file&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mapping&nbsp;mapping&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Mapping();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mapping.loadMapping(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">mapping.xml</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unmarshaller&nbsp;unmar&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Unmarshaller(&nbsp;mapping&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student&nbsp;bean&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(Student)unmar.unmarshal(&nbsp;reader&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;bean.getName()&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;list&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;bean.getTcrList();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(&nbsp;Teacher&nbsp;t&nbsp;:&nbsp;list&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;t.getName()&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; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000;">&nbsp;t.getCourse()&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com._castor;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.BufferedReader;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.File;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileInputStream;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileOutputStream;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.IOException;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.InputStreamReader;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.OutputStream;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.StringReader;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.StringWriter;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.Writer;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.xml.parsers.DocumentBuilder;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.xml.parsers.DocumentBuilderFactory;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.xml.parsers.ParserConfigurationException;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.xml.serialize.OutputFormat;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.apache.xml.serialize.XMLSerializer;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.w3c.dom.Document;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.xml.sax.InputSource;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.xml.sax.SAXException;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;CastorUtil{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;Document&nbsp;parseXMLFile(&nbsp;String&nbsp;in&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;ParserConfigurationException,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAXException,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IOException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentBuilderFactory&nbsp;dbf&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;DocumentBuilderFactory.newInstance();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentBuilder&nbsp;db&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;dbf.newDocumentBuilder();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputSource&nbsp;is&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;InputSource(&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;StringReader(&nbsp;in&nbsp;)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;db.parse(&nbsp;is&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;String&nbsp;formatXML(&nbsp;String&nbsp;unFormattedXml&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;ParserConfigurationException,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAXException,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IOException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;Document&nbsp;document&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;parseXMLFile(&nbsp;unFormattedXml&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputFormat&nbsp;format&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;OutputFormat(&nbsp;document&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.setIndenting(&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.setLineWidth(&nbsp;</span><span style="color: #000000; ">65</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.setIndent(&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.setEncoding(&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;out&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;StringWriter();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLSerializer&nbsp;serializer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;XMLSerializer(&nbsp;out,&nbsp;format&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serializer.serialize(&nbsp;document&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;out.toString();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;String&nbsp;readFile(&nbsp;String&nbsp;filePath&nbsp;)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;fileContent&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;StringBuffer();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&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(&nbsp;filePath&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(&nbsp;file.isFile()&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;file.exists()&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStreamReader&nbsp;read&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;InputStreamReader(&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileInputStream(&nbsp;file&nbsp;),&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;reader&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BufferedReader(&nbsp;read&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;line;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(&nbsp;(&nbsp;line&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;reader.readLine()&nbsp;)&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileContent.append(&nbsp;line&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;read.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;fileContent.toString();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;向文件中写入内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;filepath<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;写入文件的文件路径<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;write<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;写入的内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;flag1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是否覆盖，true-不覆盖原来的内容(追加)，false-覆盖原来的内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;flag2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是否换行，true-换行后写入，false-直接在文件末尾写入<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;IOException<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;writeFile(&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filepath,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;flag1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;flag2&nbsp;)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;1.使用File类找到一个文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&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(&nbsp;filepath&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;2.通过子类实例化父类对象</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;out&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;准备好一个输出的对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;flag1=true,追加;flag1=false,覆盖</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&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(&nbsp;file,&nbsp;flag1&nbsp;);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;实例化<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;3.以循环的方式输出</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">""</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(&nbsp;flag1&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(&nbsp;flag2&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;str;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000;">&nbsp;str;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;str;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">&nbsp;b[]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;result.getBytes();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;b.length;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(&nbsp;b[i]&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com._castor;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.List;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Student{<br />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;tcrList;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Student(){}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Student(&nbsp;String&nbsp;name&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.name&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getName(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setName(&nbsp;String&nbsp;name&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.name&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;getTcrList(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;tcrList;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setTcrList(&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Teacher</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;tcrList&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.tcrList&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000;">&nbsp;tcrList;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com._castor;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Teacher{<br />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;course;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Teacher(){}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Teacher(&nbsp;String&nbsp;name,&nbsp;String&nbsp;course&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.name&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.course&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;course;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getName(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setName(&nbsp;String&nbsp;name&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.name&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getCourse(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;course;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setCourse(&nbsp;String&nbsp;course&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.course&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;course;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;mapping&nbsp;PUBLIC&nbsp;"-//EXOLAB/Castor&nbsp;Mapping&nbsp;DTD&nbsp;Version&nbsp;1.0//EN"&nbsp;"http://castor.org/mapping.dtd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">mapping</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;class标签指明需要映射的类<br />&nbsp;&nbsp;&nbsp;&nbsp;name是这个类的类名，需要指明类的全路径<br />&nbsp;&nbsp;&nbsp;&nbsp;Map-to只有根元素对应的类才配置这个属性,指定的值为XML的根元素的名称<br />&nbsp;&nbsp;&nbsp;&nbsp;Field&nbsp;类字段和xml字段之间的映射&nbsp;filed中的name是对应类中字段的属性名字&nbsp;TYPE对应的是属性类型<br />&nbsp;&nbsp;&nbsp;&nbsp;Bind-xml&nbsp;是xml文档中对应的字段信息，name、location是生成的XML元素的名称,可以任意指定,建议尽量取得有意义<br />&nbsp;&nbsp;&nbsp;&nbsp;node指明是element还是attribute，默认是element<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">class&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="com._castor.Student"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">map-to&nbsp;</span><span style="color: #FF0000; ">xml</span><span style="color: #0000FF; ">="student-info"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">field&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="name"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="java.lang.String"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bind-xml&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="studentName"</span><span style="color: #FF0000; ">&nbsp;node</span><span style="color: #0000FF; ">="attribute"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">field</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">field&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="tcrList"</span><span style="color: #FF0000; ">&nbsp;collection</span><span style="color: #0000FF; ">="arraylist"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="com._castor.Teacher"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bind-xml&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="teacher"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">field</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">class&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="com._castor.Teacher"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">field&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="name"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="java.lang.String"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bind-xml&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="name"</span><span style="color: #FF0000; ">&nbsp;node</span><span style="color: #0000FF; ">="attribute"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">field</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">field&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="course"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="java.lang.String"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bind-xml&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="courseName"</span><span style="color: #FF0000; ">&nbsp;node</span><span style="color: #0000FF; ">="element"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">field</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">mapping</span><span style="color: #0000FF; ">&gt;</span></div><img src ="http://www.blogjava.net/Man/aggbug/386050.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2012-08-22 17:06 <a href="http://www.blogjava.net/Man/archive/2012/08/22/386050.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[shell]在windows下自动把你修改过的文件塞到指定的jar文件中</title><link>http://www.blogjava.net/Man/archive/2011/06/02/351583.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Thu, 02 Jun 2011 03:52:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2011/06/02/351583.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/351583.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2011/06/02/351583.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/351583.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/351583.html</trackback:ping><description><![CDATA[<p><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">功能简介：</span></strong></p> <p><span style="font-size: 12pt; font-family: Arial;">aj.sh</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 12pt; font-family: 宋体;">自动把你</span><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: Arial;">版本库</span></strong><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: 宋体;">下处于</span></strong><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: Arial;">checkOut</span></strong><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: 宋体;">状态</span></strong><span style="font-size: 12pt; font-family: 宋体;">的非</span><span style="font-size: 12pt; font-family: Arial;">java</span><span style="font-size: 12pt; font-family: 宋体;">文件、</span><span style="font-size: 12pt; font-family: Arial;">java</span><span style="font-size: 12pt; font-family: 宋体;">源码编译后的</span><span style="font-size: 12pt; font-family: Arial;">class</span><span style="font-size: 12pt; font-family: 宋体;">文件，塞到指定的</span><span style="font-size: 12pt; font-family: Arial;">jar</span><span style="font-size: 12pt; font-family: 宋体;">文件中。</span></p> <p><span style="font-size: 12pt; font-family: Arial;">aj24.sh</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 12pt; font-family: 宋体;">自动把你<strong><span style="font-weight: bold; background: none repeat scroll 0% 0% #ffcc00;">最近</span></strong></span><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: Arial;">24</span></strong><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: 宋体;">小时内修改过的</span></strong><span style="font-size: 12pt; font-family: 宋体;">的非</span><span style="font-size: 12pt; font-family: Arial;">java</span><span style="font-size: 12pt; font-family: 宋体;">文件、</span><span style="font-size: 12pt; font-family: Arial;">java</span><span style="font-size: 12pt; font-family: 宋体;">源码编译后的</span><span style="font-size: 12pt; font-family: Arial;">class</span><span style="font-size: 12pt; font-family: 宋体;">文件，塞到指定的</span><span style="font-size: 12pt; font-family: Arial;">jar</span><span style="font-size: 12pt; font-family: 宋体;">文件中。</span></p><p><br /><span style="font-size: 12pt; font-family: 宋体;"></span></p><p><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">运行方式：</span></strong></p> <p><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">、用文本编辑器打开</span><span style="font-size: 12pt;">aj.sh</span><span style="font-size: 12pt; font-family: 宋体;">、</span><span style="font-size: 12pt;">aj24.sh,</span><span style="font-size: 12pt; font-family: 宋体;">更改以下几个变量：</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt; color: red;">jar_file&nbsp;  </span></strong><span style="font-size: 12pt; font-family: 宋体;">指定</span><span style="font-size: 12pt;">jar</span><span style="font-size: 12pt; font-family: 宋体;">文件的完整路径（注意路径分隔符一律用</span><span style="font-size: 12pt;">&#8217;<span style="color: red;">/</span>&#8217;</span><span style="font-size: 12pt; font-family: 宋体;">）</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt; color: red;">bin_dir&nbsp;&nbsp;  </span></strong><span style="font-size: 12pt; font-family: 宋体;">指定</span><span style="font-size: 12pt;">class</span><span style="font-size: 12pt; font-family: 宋体;">所在的</span><span style="font-size: 12pt;">bin</span><span style="font-size: 12pt; font-family: 宋体;">完整路径</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt; color: red;">src_dir&nbsp;&nbsp;  </span></strong><span style="font-size: 12pt; font-family: 宋体;">指定源码所在的</span><span style="font-size: 12pt;">src</span><span style="font-size: 12pt; font-family: 宋体;">完整路径</span></p> <p><span style="font-size: 12pt;">2</span><span style="font-size: 12pt; font-family: 宋体;">、打开</span><span style="font-size: 12pt;">cygwin</span><span style="font-size: 12pt; font-family: 宋体;">，进入脚本文件所在的目录，运行如下命令：</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: Arial;">sh  aj.sh</span></strong></p> <p><span style="font-size: 12pt; font-family: 宋体;">或</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt; background: none repeat scroll 0% 0% #ffcc00; font-family: Arial;">sh  aj24.sh</span></strong></p> <p>&nbsp;</p> <p><strong><span style="font-weight: bold; font-size: 12pt;">ps</span></strong><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">：</span></strong></p> <p><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">指定</span></strong><strong><span style="font-weight: bold; font-size: 12pt;">cygwin</span></strong><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">打开时的默认路径：</span></strong></p> <p><span style="font-size: 12pt; font-family: 宋体;">新建一个环境变量</span><strong><span style="font-weight: bold; font-size: 12pt;">HOME</span></strong><span style="font-size: 12pt; font-family: 宋体;">，设置为脚本文件所在的目录。</span></p> <p><span style="font-size: 12pt; font-family: 宋体;">这样可以更加方便、快速地运行脚本。</span></p> <p><span style="font-size: 12pt; font-family: 宋体;">路径<strong><span style="font-weight: bold; color: red;">分割符用&#8216;</span></strong></span><strong><span style="font-weight: bold; font-size: 12pt; color: red;">/</span></strong><strong><span style="font-weight: bold; font-size: 12pt; color: red; font-family: 宋体;">&#8217;</span></strong><span style="font-size: 12pt;">,</span><span style="font-size: 12pt; font-family: 宋体;">磁盘符用</span><span style="font-size: 12pt;">cygdrive</span><span style="font-size: 12pt; font-family: 宋体;">表示。</span><span style="font-size: 12pt;">eg</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;"> <span>d:\shell&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">&#8212;&#8212;》</span><span style="font-size: 12pt;">&nbsp;&nbsp;  &nbsp;/cygdrive/d/shell</span></p> <p><br /><span style="font-size: 10pt;"></span></p><p><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">环境依赖：</span></strong></p> <p><span style="font-size: 12pt;">JDK/JRE</span></p> <p><span style="font-size: 12pt;">Cygwin</span></p> <p><strong><span style="font-weight: bold; font-size: 12pt;">cywin</span></strong><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">安装</span></strong><span style="font-size: 12pt; font-family: 宋体;">：进入下载页</span><span style="font-size: 12pt;"><a title="blocked::http://cygwin.com/install.html" href="http://cygwin.com/install.html">http://cygwin.com/install.html</a></span><span style="font-size: 12pt; font-family: 宋体;">，将&#8220;</span><strong><span style="font-weight: bold; font-size: 12pt;">setup.exe</span></strong><span style="font-size: 12pt; font-family: 宋体;">&#8221;下载到本地运行，</span><span style="font-size: 12pt; font-family: 宋体;">一路默认即可。</span></p> <p><span style="font-size: 12pt; font-family: 宋体;">安装参考文档：</span><span style="font-size: 12pt;"><a title="blocked::http://goo.gl/eXfzx" href="http://goo.gl/eXfzx">http://goo.gl/eXfzx</a></span></p>  <p><a target="_blank" href="http://goo.gl/VdMdl">cygwin常用命令及find命令说明 </a></p><div></div><p>&nbsp;</p><p><br /></p> <p><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">缺陷：</span></strong></p> <p style="background: none repeat scroll 0% 0% #ffcc00; margin-left: 36pt; text-indent: -36pt;"><span style="font-size: 12pt;"><span>1、<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span></span><span style="font-size: 12pt; font-family: 宋体;">如果你修改的是<strong><span style="font-weight: bold;">需要转义的中文资源文件</span></strong>，需要自己去转义后再覆盖过去。</span></p> <p style="background: none repeat scroll 0% 0% #ffcc00; margin-left: 36pt; text-indent: -36pt;"><span style="font-size: 12pt;"><span>2、<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span></span><span style="font-size: 12pt; font-family: 宋体;">如果你修改的是</span><strong><span style="font-weight: bold; font-size: 12pt;">java</span></strong><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">文件中的非内部类</span></strong><span style="font-size: 12pt; font-family: 宋体;">，也需要手动去找到该</span><span style="font-size: 12pt;">class</span><span style="font-size: 12pt; font-family: 宋体;">类，再塞到</span><span style="font-size: 12pt;">jar</span><span style="font-size: 12pt; font-family: 宋体;">文件去。</span></p> <p>&nbsp;</p><p>&nbsp;</p><div><strong><span style="font-weight: bold; font-size: 12pt; font-family: 宋体;">脚本文件：</span></strong></div><p>&nbsp;</p><p>aj.sh （将第16行注释掉，第17行去掉注释，即为&#8220;aj24.sh&#8221;）<br /></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008000;">#</span><span style="color: #008000;">!/bin/sh<br /></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #008000;">#&nbsp;Auto&nbsp;zip&nbsp;the&nbsp;files&nbsp;which&nbsp;are&nbsp;checked&nbsp;out&nbsp;or&nbsp;modified&nbsp;to&nbsp;the&nbsp;target&nbsp;jar&nbsp;file.<br /></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #008000;">#&nbsp;Note:&nbsp;use&nbsp;'/'&nbsp;as&nbsp;separator&nbsp;in&nbsp;directory<br /></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #008000;">#&nbsp;target&nbsp;jar&nbsp;file</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">jar_file</span><span style="color: #000000;">=</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">G:/demo.jar</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;"><br /></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;bin&nbsp;directory&nbsp;of&nbsp;compiled&nbsp;class&nbsp;files</span><span style="color: #008000;"><br /></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">bin_dir</span><span style="color: #000000;">=</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">D:/workspace/demo/bin</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;"><br /></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;src&nbsp;directory&nbsp;of&nbsp;source&nbsp;files</span><span style="color: #008000;"><br /></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">src_dir</span><span style="color: #000000;">=</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">D:/workspace/demo/src</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;"><br /></span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">condition</span><span style="color: #000000;">=</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">-perm&nbsp;644</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;"><br /></span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">#</span><span style="color: #008000;">condition='&nbsp;-mtime&nbsp;0'</span><span style="color: #008000;"><br /></span><span style="color: #008080;">18</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">c_j</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;"><br /></span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">c_nj</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;"><br /></span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">c_c</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;"><br /></span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">function&nbsp;count_javaFiles<br /></span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">{<br /></span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">c_j=$c_j&nbsp;+&nbsp;1</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">}<br /></span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">function&nbsp;count_nonJavaFiles<br /></span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">{<br /></span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">c_nj=$c_nj&nbsp;+&nbsp;1</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">}<br /></span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">function&nbsp;count_classFiles<br /></span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">{<br /></span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">c_c=$c_c&nbsp;+&nbsp;1</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">}<br /></span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">function&nbsp;inspectZip<br /></span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">{<br /></span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;fileName</span><span style="color: #000000;">=</span><span style="color: #000000;">$</span><span style="color: #800000;">1</span><span style="color: #000000;"><br /></span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;dir_pre</span><span style="color: #000000;">=</span><span style="color: #000000;">$</span><span style="color: #800000;">2</span><span style="color: #000000;"><br /></span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;line<br /></span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;list<br /></span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;myDir_pre<br /></span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;</span><span style="color: #800080;">$bin_dir</span><span style="color: #000000;"><br /></span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;list</span><span style="color: #000000;">=</span><span style="color: #000000;">`&nbsp;find&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">${fileName}[$.]*class</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">&nbsp;`<br /></span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;line&nbsp;in&nbsp;</span><span style="color: #800080;">$list</span><span style="color: #000000;"><br /></span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">do</span><span style="color: #000000;"><br /></span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;myDir_pre</span><span style="color: #000000;">=</span><span style="color: #000000;">${line</span><span style="color: #000000;">%/*</span><span style="color: #000000;">}<br /></span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;[&nbsp;</span><span style="color: #800080;">$myDir_pre</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$dir_pre</span><span style="color: #000000;">&nbsp;]<br /></span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;then<br /></span><span style="color: #008080;">49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jar&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">uvf&nbsp;</span><span style="color: #800080;">$jar_file</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$line</span><span style="color: #000000;"><br /></span><span style="color: #008080;">50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count_classFiles<br /></span><span style="color: #008080;">51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;fi<br /></span><span style="color: #008080;">52</span>&nbsp;<span style="color: #000000;">done<br /></span><span style="color: #008080;">53</span>&nbsp;<span style="color: #000000;">}<br /></span><span style="color: #008080;">54</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">55</span>&nbsp;<span style="color: #000000;">function&nbsp;easyZip<br /></span><span style="color: #008080;">56</span>&nbsp;<span style="color: #000000;">{<br /></span><span style="color: #008080;">57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">local</span><span style="color: #000000;">&nbsp;file</span><span style="color: #000000;">=</span><span style="color: #000000;">$</span><span style="color: #800000;">1</span><span style="color: #000000;"><br /></span><span style="color: #008080;">58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;jar&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">uvf&nbsp;</span><span style="color: #800080;">$jar_file</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$file</span><span style="color: #000000;"><br /></span><span style="color: #008080;">59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;count_nonJavaFiles<br /></span><span style="color: #008080;">60</span>&nbsp;<span style="color: #000000;">}<br /></span><span style="color: #008080;">61</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">62</span>&nbsp;<span style="color: #000000;">cd&nbsp;</span><span style="color: #800080;">$src_dir</span><span style="color: #000000;"><br /></span><span style="color: #008080;">63</span>&nbsp;<span style="color: #000000;">list</span><span style="color: #000000;">=</span><span style="color: #000000;">`find&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">type&nbsp;f&nbsp;</span><span style="color: #800080;">$condition</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;">(&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.java</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.keep</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.keep.[0-9]*</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.contrib</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.contrib.[0-9]*</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">\</span><span style="color: #000000;">)`<br /></span><span style="color: #008080;">64</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;line&nbsp;in&nbsp;</span><span style="color: #800080;">$list</span><span style="color: #000000;"><br /></span><span style="color: #008080;">65</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">do</span><span style="color: #000000;"><br /></span><span style="color: #008080;">66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;easyZip&nbsp;</span><span style="color: #800080;">$line</span><span style="color: #000000;"><br /></span><span style="color: #008080;">67</span>&nbsp;<span style="color: #000000;">done<br /></span><span style="color: #008080;">68</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">69</span>&nbsp;<span style="color: #000000;">list</span><span style="color: #000000;">=</span><span style="color: #000000;">`find&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">type&nbsp;f&nbsp;</span><span style="color: #800080;">$condition</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">*.java</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;`<br /></span><span style="color: #008080;">70</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;line&nbsp;in&nbsp;</span><span style="color: #800080;">$list</span><span style="color: #000000;"><br /></span><span style="color: #008080;">71</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">do</span><span style="color: #000000;"><br /></span><span style="color: #008080;">72</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;dir_pre</span><span style="color: #000000;">=</span><span style="color: #000000;">${line</span><span style="color: #000000;">%/*</span><span style="color: #000000;">}<br /></span><span style="color: #008080;">73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;fileName</span><span style="color: #000000;">=</span><span style="color: #000000;">`echo&nbsp;${line</span><span style="color: #008000;">#</span><span style="color: #008000;">#*/}&nbsp;|&nbsp;cut&nbsp;-d&nbsp;'.'&nbsp;-f1`</span><span style="color: #008000;"><br /></span><span style="color: #008080;">74</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080;">75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;inspectZip&nbsp;</span><span style="color: #800080;">$fileName</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$dir_pre</span><span style="color: #000000;"><br /></span><span style="color: #008080;">76</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;count_javaFiles<br /></span><span style="color: #008080;">77</span>&nbsp;<span style="color: #000000;">done<br /></span><span style="color: #008080;">78</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">79</span>&nbsp;<span style="color: #000000;"><br /></span><span style="color: #008080;">80</span>&nbsp;<span style="color: #000000;">echo&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">non-java&nbsp;files:&nbsp;$c_nj</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">81</span>&nbsp;<span style="color: #000000;">echo&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">java&nbsp;files:&nbsp;$c_j</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">82</span>&nbsp;<span style="color: #000000;">echo&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">class&nbsp;files:&nbsp;$c_c</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">83</span>&nbsp;<span style="color: #000000;">echo&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">total&nbsp;files:&nbsp;&nbsp;$[$c_nj&nbsp;+&nbsp;$c_c]</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;"><br /></span><span style="color: #008080;">84</span>&nbsp;<span style="color: #000000;"></span></div><img src ="http://www.blogjava.net/Man/aggbug/351583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2011-06-02 11:52 <a href="http://www.blogjava.net/Man/archive/2011/06/02/351583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HttpClient4的cookie rejected问题，以及如何消除该warning输出</title><link>http://www.blogjava.net/Man/archive/2011/02/10/344019.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Thu, 10 Feb 2011 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2011/02/10/344019.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/344019.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2011/02/10/344019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/344019.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/344019.html</trackback:ping><description><![CDATA[<!--[if gte mso 9]><xml>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
</xml><![endif]--><!--[if gte mso 9]><![endif]--><!--[if !mso]>
<style>
st1":*{behavior:url(#ieooui) }
</style>
<![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{
mso-style-parent:"";
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
</style>
<![endif]-->
<p style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;">环境：<span>HttpClient4.0.1<br />
<br />
</span>发现在执行httpClient写的demo时会输出一个警告（以前没这个警告出现）：</span></p>
<p style="text-align: left; background: none repeat scroll 0% 0% #eeeeee;" align="left"><span style="font-size: 10pt; font-family: 宋体; color: black;">警告: </span><span style="font-size: 12pt; font-family: 宋体;">Cookie rejected: "$Version=0; ID=XXXXXX:FG=1;
$Path=/; $Domain=XXXXX". Illegal domain attribute ".XXXXXX".
Domain of origin: "XX.XXX.XXX.XXX"</span></p>
<p style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;"><br />
</span><span style="font-size: 12pt; font-family: 宋体;">网上了解了一下，大致是说httpclient的请求默认是需要cookie的，但是默认CookiePolicy.BROWSER_COMPATIBILITY，是RFC2109，cookie ver1，现在RFC2965 定义了cookie的第二个版本，所以要自己设置下</span></p>
<p style="text-align: left; background: none repeat scroll 0% 0% #eeeeee;" align="left"><span style="font-size: 10pt; font-family: 宋体; color: black;">CookiePolicy.postMethod.getParams().setParameter("http.protocol.cookie-policy",CookiePolicy.BROWSER_COMPATIBILITY);</span></p>
<p style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;"><br />
</span><span style="font-size: 12pt; font-family: 宋体;">但使用该方法仍然会有该warning输出。难道是本人采用的httpclient版本问题吗？<span><br />
<br />
<br />
</span>结合<a href="http://itbiji.net/2010/05/httpclient401/#c_3" target="_blank">HttpClient4.0.1的文档</a>的第三章，可以通过3.6所提的自定义cookie策略，来消除该warning的输出。<span><br />
</span>但该方案只是将validate方法重写为空方法——对于cookie验证什么也不做。</span></p>
<p style="text-align: left; background: none repeat scroll 0% 0% #eeeeee;" align="left"><span style="font-size: 10pt; font-family: 宋体;"><br />
<span style="color: black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green;">//&nbsp;</span></span><span style="font-size: 10pt; font-family: 宋体; color: green;">定制cookie策略<span><br />
</span></span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CookieSpecFactory&nbsp;csf&nbsp;=&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">new</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;CookieSpecFactory(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">public</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;CookieSpec&nbsp;newInstance(HttpParams&nbsp;params){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">return</span>&nbsp;<span style="font-size: 10pt; font-family: 宋体; color: blue;">new</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;BrowserCompatSpec(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">public</span>&nbsp;<span style="font-size: 10pt; font-family: 宋体; color: blue;">void</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;validate(Cookie&nbsp;cookie,&nbsp;CookieOrigin&nbsp;origin)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: blue;">throws</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;MalformedCookieException{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10pt; font-family: 宋体; color: green;">//Oh,&nbsp;I am&nbsp;easy<br />
</span><span style="font-size: 10pt; font-family: 宋体; color: black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpClient.getCookieSpecs().register("easy",&nbsp;csf);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY,&nbsp;"easy");</span></p>
<p><span style="font-size: 12pt; font-family: 宋体;"><br />
</span><span style="font-size: 12pt; font-family: 宋体;">总结：最后只是通过老子&#8220;无为&#8221;的方式去掉该warning，但对于该异常产生的真正原因仍然不明确。。。</span></p>
<img src ="http://www.blogjava.net/Man/aggbug/344019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2011-02-10 15:33 <a href="http://www.blogjava.net/Man/archive/2011/02/10/344019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>keyTool的用法</title><link>http://www.blogjava.net/Man/archive/2011/01/11/342777.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Tue, 11 Jan 2011 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2011/01/11/342777.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/342777.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2011/01/11/342777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/342777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/342777.html</trackback:ping><description><![CDATA[转自http://blog.chinaunix.net/u/3641/showart_506402.html
<br />
Xfire实现WSS之创建密钥对和数字证书
<br />
签名和加密需要使用到数字证书和密钥对，可以使用JDK提供的KeyTool工具创建密钥对和数字证书。我们分别为服务端和客户端创建RSA密钥
对，并生成各自的数字证书（包含公钥和数字签名）。服务端和客户端拥有各自的密钥库JKS文件，服务端的密钥库保存服务端的密钥对和客户端的数字证书，而
客户端的密钥库保存客户端的密钥对和服务端的数字证书。
<br />
<br />
下面，我们来看看xfire提供的例子：
<br />
<br />
&lt;XFIRE_HOME&gt;/examples/ws-security/keys/generateKeyPair.bat批处理文件：
<br />
rem @echo off
<br />
<br />
#接受参数
<br />
<br />
echo alias %1
<br />
<br />
echo keypass %2
<br />
<br />
echo keystoreName %3
<br />
<br />
echo KeyStorePass %4
<br />
<br />
echo keyName %5
<br />
<br />
创建RSA密钥对
<br />
keytool -genkey -alias %1 -keypass %2 -keystore %3 -storepass %4 -dname "cn=%1" -keyalg RSA
<br />
使用私钥进行自签名
<br />
keytool -selfcert -alias %1 -keystore %3 -storepass %4 -keypass %2
<br />
导出数字证书
<br />
keytool -export -alias %1 -file %5 -keystore %3 -storepass %4
<br />
&lt;XFIRE_HOME&gt;/examples/ws-security/keys/generateServerKey.bat文件：
<br />
下面两行命名分别调用generateKeyPair.bat批处理文件为服务端和客户端生成密钥对
<br />
call generateKeyPair.bat server serverpass serverStore.jks storepass serverKey.rsa
<br />
call generateKeyPair.bat client clientpass clientStore.jks storepass clientKey.rsa
<br />
将服务端的数字证书导入客户端的密钥库
<br />
keytool -import -alias server -file serverKey.rsa -keystore clientStore.jks -storepass storepass -noprompt
<br />
将客户端的数字证书导入服务端的密钥库
<br />
keytool -import -alias client -file clientKey.rsa -keystore serverStore.jks -storepass storepass -noprompt
<br />
运行该批处理文件后，将分别为服务端和客户端生成一个Java密钥库文件，它们分别拥有一个自己的密钥对和对方的数字证书。我们通过表1对两者密钥库文件的内容进行说明：
<br />
<br />
表1密钥库说明
<br />
<br />
<br />
服务端Java密钥库
<br />
客户端Java密钥库
<br />
<br />
对应密钥库文件
<br />
serverStore.jks
<br />
clientStore.jks
<br />
<br />
密钥库密码
<br />
storepass
<br />
storepass
<br />
<br />
库中包含的内容
<br />
server密钥对、client数字证书
<br />
client密钥对、server数字证书
<br />
<br />
密钥对别名
<br />
server
<br />
client
<br />
<br />
密钥对私钥的保护密码
<br />
serverpass
<br />
clientpass
<img src ="http://www.blogjava.net/Man/aggbug/342777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2011-01-11 15:56 <a href="http://www.blogjava.net/Man/archive/2011/01/11/342777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[demo]创建一个rmi程序</title><link>http://www.blogjava.net/Man/archive/2011/01/10/342704.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Mon, 10 Jan 2011 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2011/01/10/342704.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/342704.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2011/01/10/342704.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/342704.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/342704.html</trackback:ping><description><![CDATA[一个简单rmi例子。<br />
<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">、当前编译后的class在bin目录下<br />
</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">、注册：开一个cmd，到bin目录下运行&#8220;rmiregistry&#8221;<br />
</span><span style="color: rgb(0, 0, 0);">3</span><span style="color: rgb(0, 0, 0);">、生成stub和skel的class文件：开一个cmd，到bin目录下运行&#8220;rmic&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">vcompat&nbsp;com.rmi.CalculatorImpl&#8221;<br />
</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">、编写授权文件policy.txt<br />
</span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">、启动服务器：开一个cmd，到bin目录下运行&#8220;java&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">Djava.security.policy</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">com.rmi.policy.txt&nbsp;com.rmi.Ca<br />
culatorServer&#8221;<br />
</span><span style="color: rgb(0, 0, 0);">6</span><span style="color: rgb(0, 0, 0);">、运行客户端：开一个cmd，到bin目录下运行&#8220;D:\workspace\demo\bin</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">java&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">Djava.security.policy</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">com.rmi.policy.txt&nbsp;com.rmi.Cal<br />
culatorClient&#8221;</span></div>
<br />
<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;com._rmi;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.Remote;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">interface</span><span style="color: rgb(0, 0, 0);">&nbsp;Calculator&nbsp;</span><span style="color: rgb(0, 0, 255);">extends</span><span style="color: rgb(0, 0, 0);">&nbsp;Remote&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;add(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.RemoteException;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;sub(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.RemoteException;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;mul(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.RemoteException;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;div(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.RemoteException;<br />
}<br />
</span></div>
&nbsp;<br />
<div style="font-size: 13px; border-left-color: rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%; background-color: rgb(238, 238, 238);"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;com._rmi;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.RemoteException;<br />
</span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.server.UnicastRemoteObject;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorImpl&nbsp;</span><span style="color: rgb(0, 0, 255);">extends</span><span style="color: rgb(0, 0, 0);">&nbsp;UnicastRemoteObject&nbsp;</span><span style="color: rgb(0, 0, 255);">implements</span><span style="color: rgb(0, 0, 0);">&nbsp;Calculator&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorImpl()&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;RemoteException<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">super</span><span style="color: rgb(0, 0, 0);">();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;add(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;RemoteException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;div(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;RemoteException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;mul(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;RemoteException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;sub(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;a,&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;b)&nbsp;</span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);">&nbsp;RemoteException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;a</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}<br />
</span></div>
&nbsp;&nbsp;&nbsp;<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;com._rmi;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.Naming;<br />
</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorServer&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorServer()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculator&nbsp;c&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorImpl();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Naming.rebind(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">rmi://localhost:1099/CalculatorService</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;c);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">(Exception&nbsp;e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: rgb(128, 128, 128);">@param</span><span style="color: rgb(0, 128, 0);">&nbsp;args<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorServer();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}<br />
</span></div>
<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;com._rmi;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);">&nbsp;java.rmi.Naming;<br />
<br />
</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;CalculatorClient&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: rgb(128, 128, 128);">@param</span><span style="color: rgb(0, 128, 0);">&nbsp;args<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculator&nbsp;c&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;(Calculator)&nbsp;Naming<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.lookup(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">rmi://localhost/CalculatorService</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;c.add(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">)&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;c.sub(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">)&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;c.mul(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">)&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&nbsp;c.div(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">)&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}<br />
</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/Man/aggbug/342704.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2011-01-10 18:27 <a href="http://www.blogjava.net/Man/archive/2011/01/10/342704.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse的提示快捷键“alt+/”失效的问题</title><link>http://www.blogjava.net/Man/archive/2010/11/25/339049.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Thu, 25 Nov 2010 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2010/11/25/339049.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/339049.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2010/11/25/339049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/339049.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/339049.html</trackback:ping><description><![CDATA[1、首先检测Window-Preferences-General-Keys中的快捷方式是否正确<br />
Content Assist&nbsp;&nbsp; Alt+/<br />
<br />
2、在快捷键设置正确的情况仍没有效果的，则进入如下位置<br />
Window-Preferences-Java-Editor-Content Assist-Advanced<br />
将右边那些选项全打上勾即可。<br />
<br />
<img src ="http://www.blogjava.net/Man/aggbug/339049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2010-11-25 17:53 <a href="http://www.blogjava.net/Man/archive/2010/11/25/339049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转）HttpClient基础</title><link>http://www.blogjava.net/Man/archive/2010/09/06/331263.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Mon, 06 Sep 2010 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2010/09/06/331263.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/331263.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2010/09/06/331263.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/331263.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/331263.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;执行请求HttpClient的最重要的功能是执行HTTP方法。一个HTTP方法的执行涉及到一个或多个HTTP请求或HTTP响应的交流，HttpClient通常是在内部处理的。用户将提供一个执行请求对象，HttpClient发送请求到目标服务器返回一个相应的响应对象，如果执行失败则抛出一个异常。所以，HttpClien...&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2010/09/06/331263.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/331263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2010-09-06 23:57 <a href="http://www.blogjava.net/Man/archive/2010/09/06/331263.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jar命令</title><link>http://www.blogjava.net/Man/archive/2010/08/09/jar.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Mon, 09 Aug 2010 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2010/08/09/jar.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/328317.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2010/08/09/jar.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/328317.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/328317.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: jar命令和使用时常见问题的解决方案&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2010/08/09/jar.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/328317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2010-08-09 15:27 <a href="http://www.blogjava.net/Man/archive/2010/08/09/jar.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jar包中的类如何读取包内和包外的配置文件</title><link>http://www.blogjava.net/Man/archive/2010/05/05/320159.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Wed, 05 May 2010 15:52:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2010/05/05/320159.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/320159.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2010/05/05/320159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/320159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/320159.html</trackback:ping><description><![CDATA[最近将代码打包成jar包，关于如何处理读取配置文件的问题特此记录一下。<br />
<br />
out.properties<br />
a.jar<br />
-com<br />
-a.class<br />
-in.properties<br />
<br />
如上所示，out.properties是于a.jar包在同一文件目录下；<br />
in.properties是在a.jar包内部的。<br />
<br />
关于a.class如何读取jar内或jar外的配置文件，<br />
如下所示：<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">FileInputStream&nbsp;inputStream1&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;FileInputStream(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">out.properties</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />
InputStream&nbsp;inputStream2&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> a.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">.getResourceAsStream(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/in.properties</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);</span></div>
<br />
配置文件的读取位置涉及到类加载器的加载策略，具体细节问题请查阅类加载器及getResourceAsStream方法的源码和相关文档，此处不细表。<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/Man/aggbug/320159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2010-05-05 23:52 <a href="http://www.blogjava.net/Man/archive/2010/05/05/320159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>列举Java日历类Calendar的一些常用方法</title><link>http://www.blogjava.net/Man/archive/2009/07/09/Calendar.html</link><dc:creator>此号已被删</dc:creator><author>此号已被删</author><pubDate>Thu, 09 Jul 2009 07:37:00 GMT</pubDate><guid>http://www.blogjava.net/Man/archive/2009/07/09/Calendar.html</guid><wfw:comment>http://www.blogjava.net/Man/comments/286093.html</wfw:comment><comments>http://www.blogjava.net/Man/archive/2009/07/09/Calendar.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Man/comments/commentRss/286093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Man/services/trackbacks/286093.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1、将String类型"yyyy-mm-dd"格式的字符串日期转换为Calendar对象<br>2、返回输入的Calendar日期所在星期的星期一的日期<br>3、返回输入的Calendar日期所在月的第一天的日期<br>4、返回该日期的年份<br>5、返回该日期的月份<br>6、返回该日期所在星期是该月的第几个星期&nbsp;&nbsp;<a href='http://www.blogjava.net/Man/archive/2009/07/09/Calendar.html'>阅读全文</a><img src ="http://www.blogjava.net/Man/aggbug/286093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Man/" target="_blank">此号已被删</a> 2009-07-09 15:37 <a href="http://www.blogjava.net/Man/archive/2009/07/09/Calendar.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>