﻿<?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-Kyle's Space-随笔分类-Code Templates</title><link>http://www.blogjava.net/xiaodong0417/category/51484.html</link><description>Java Study</description><language>zh-cn</language><lastBuildDate>Sun, 22 Apr 2012 08:10:16 GMT</lastBuildDate><pubDate>Sun, 22 Apr 2012 08:10:16 GMT</pubDate><ttl>60</ttl><item><title>Jibx简单示例</title><link>http://www.blogjava.net/xiaodong0417/archive/2011/11/28/365010.html</link><dc:creator>王树东</dc:creator><author>王树东</author><pubDate>Mon, 28 Nov 2011 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/xiaodong0417/archive/2011/11/28/365010.html</guid><wfw:comment>http://www.blogjava.net/xiaodong0417/comments/365010.html</wfw:comment><comments>http://www.blogjava.net/xiaodong0417/archive/2011/11/28/365010.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaodong0417/comments/commentRss/365010.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaodong0417/services/trackbacks/365010.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; ">首先从 JiBX 网站下载 JiBX，当前最新版本是 beta 3。解开下载的 zip 文件，里面有一个 lib 目录，包含了 bcel.jar, jibx-bind.jar, jibx-extras.jar, jibx-run.jar, xpp3.jar 五个 jar 文件。bcel.jar, jibx-bind.jar 只有在 binding compiler 的时候才用得到。jibx-extras.jar 是一个可选的工具包，里面有一些测试和验证的工具类。&nbsp;<br />
1.定义一个我们将要处理 XML 文件，文件名为 data.xml，内容如下：&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #800000; ">customer</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">person</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">cust-num</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">123456789</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">cust-num</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">first-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">John</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">first-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">last-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">Smith</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">last-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">person</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">street</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">12345&nbsp;Happy&nbsp;Lane</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">street</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">city</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">Plunk</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">city</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">state</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">WA</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">state</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">zip</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">98059</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">zip</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">phone</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">888.555.1234</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">phone</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">customer</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;</span></div>
这个 XML 文件非常简单，共有十个元素，没有属性。根元素 customer 有 person, street, city, state, zip, phone 六个子元素。其中元素 person 有 cust-num, first-name, last-name 三个子元素。&nbsp;<br />
2.接着定义两个 Java 类 Customer 和 Person，也采用最简单的方式，用对象的域值对应元素，内容如下：&nbsp;<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #000000; "><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;Customer&nbsp;{&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Person&nbsp;person;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;street;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;city;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;state;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Integer&nbsp;zip;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;phone;&nbsp;<br />
}&nbsp;<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;Person&nbsp;{&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;customerNumber;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;firstName;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;lastName;&nbsp;<br />
}&nbsp;</span></div>
这个两个类没有任何方法，够简单吧！或许你已经看出来了，Customer 类的七个 field 对应的是 XML 文件中 customer 元素的七个子元素。Person 类的三个 field 对应的是 person 元素的三个子元素。在 Person 类的 field 的名称并不是和 person 元素的子元素名称完全相等，这是遵守 Java 编程规范 field 命名的需要，虽然不相等，但这不重要，可以在绑定定义文挡中把它们一一对应起来。&nbsp;<br />
3.绑定定义文挡&nbsp;<br />
绑定定义文挡是依据绑定定义规范将 XML 数据和 Java 对象绑定的 XML 文挡。文件名为 binding.xml，内容如下：&nbsp;<br />
<br />
<br />
binding.xml 文件中的 name 和 field 属性分别将 XML 中的元素和 Java 对象中的 field 一一对应并绑定起来。&nbsp;<br />
<br />
&lt;mapping name="customer" class="Customer"&gt;&nbsp;<br />
mapping 元素的 name 和 class 属性将 customer 根元素和 Customer 类绑定在一起。&nbsp;<br />
<br />
&lt;structure name="person" field="person"&gt;&nbsp;<br />
<br />
public Person person;&nbsp;<br />
上面两行定义了 person 是 Customer 的 field，同时也把 person 元素和 person 类绑定在一起。&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #800000; ">binding</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">mapping&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="customer"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="Customer"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">structure&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="person"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="person"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="cust-num"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="customerNumber"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="first-name"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="firstName"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value </span><font  color="#FF0000">name</font><span style="color: #0000FF; ">="last-name"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="lastName"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">structure</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="street"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="street"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="city"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="city"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="state"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="state"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="zip"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="zip"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="phone"</span><span style="color: #FF0000; ">&nbsp;field</span><span style="color: #0000FF; ">="phone"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">mapping</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;<br />
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">binding</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;</span></div>
4.执行 Binding Compiler 过程&nbsp;<br />
以下命令是在 Linux 下执行，如果是 Windows 平台请转换成相应的命令&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #000000; ">#javac&nbsp;Person.java&nbsp;<br />
#javac&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">classpath&nbsp;.&nbsp;Customer.java&nbsp;<br />
#java&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">jar&nbsp;lib</span><span style="color: #000000; ">/</span><span style="color: #000000; ">jibx</span><span style="color: #000000; ">-</span><span style="color: #000000; ">bind.jar&nbsp;binding.xml&nbsp;</span></div>
执行完后，在当前目录多了四个 class 文件，分别是 Person.class, Customer.class, JiBX_bindingCustomer_access.class, JiBX_bindingFactory.class。&nbsp;<br />
5.执行 binding runtime 过程&nbsp;<br />
接着写一个简单的读取 data.xml 测试程序 Test.java，内容如下：&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileInputStream;&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileNotFoundException;&nbsp;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.jibx.runtime.JiBXException;&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.jibx.runtime.IBindingFactory;&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.jibx.runtime.BindingDirectory;&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.jibx.runtime.IUnmarshallingContext;&nbsp;<br />
<br />
</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Test&nbsp;{&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">{&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;IBindingFactory&nbsp;bfact&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;BindingDirectory.getFactory(Customer.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;IUnmarshallingContext&nbsp;uctx&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;bfact.createUnmarshallingContext();&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Customer&nbsp;customer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(Customer)uctx.unmarshalDocument(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileInputStream(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">data.xml</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;Person&nbsp;person&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;customer.person;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">cust-num:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;person.customerNumber);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">first-name:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;person.firstName);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">last-name:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;person.lastName);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">street:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;customer.street);&nbsp;<br />
&nbsp;&nbsp;}</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">(FileNotFoundException&nbsp;e){&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(e.toString());&nbsp;<br />
&nbsp;&nbsp;}</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">(JiBXException&nbsp;e){&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(e.toString());&nbsp;<br />
&nbsp;&nbsp;}&nbsp;<br />
}&nbsp;<br />
}&nbsp;</span></div>
编译并运行这个测试程序&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #000000; ">#javac&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">classpath&nbsp;.:lib</span><span style="color: #000000; ">/</span><span style="color: #000000; ">jibx</span><span style="color: #000000; ">-</span><span style="color: #000000; ">run.jar&nbsp;Test.java&nbsp;<br />
#java&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">cp&nbsp;.:lib</span><span style="color: #000000; ">/</span><span style="color: #000000; ">jibx</span><span style="color: #000000; ">-</span><span style="color: #000000; ">run.jar:lib</span><span style="color: #000000; ">/</span><span style="color: #000000; ">xpp3.jar&nbsp;Test&nbsp;</span></div>
程序运行的结果是&nbsp;<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #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: #000000; ">cust</span><span style="color: #000000; ">-</span><span style="color: #000000; ">num:</span><span style="color: #000000; ">123456789</span><span style="color: #000000; ">&nbsp;<br />
first</span><span style="color: #000000; ">-</span><span style="color: #000000; ">name:John&nbsp;<br />
last</span><span style="color: #000000; ">-</span><span style="color: #000000; ">name:Smith&nbsp;<br />
street:</span><span style="color: #000000; ">12345</span><span style="color: #000000; ">&nbsp;Happy&nbsp;Lane &nbsp;</span></div>
</span></div><img src ="http://www.blogjava.net/xiaodong0417/aggbug/365010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaodong0417/" target="_blank">王树东</a> 2011-11-28 17:16 <a href="http://www.blogjava.net/xiaodong0417/archive/2011/11/28/365010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>压缩文件以及文件夹</title><link>http://www.blogjava.net/xiaodong0417/archive/2011/07/22/354848.html</link><dc:creator>王树东</dc:creator><author>王树东</author><pubDate>Fri, 22 Jul 2011 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/xiaodong0417/archive/2011/07/22/354848.html</guid><wfw:comment>http://www.blogjava.net/xiaodong0417/comments/354848.html</wfw:comment><comments>http://www.blogjava.net/xiaodong0417/archive/2011/07/22/354848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaodong0417/comments/commentRss/354848.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaodong0417/services/trackbacks/354848.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #0000FF; ">//使用Groovy 稍微改了下<br />
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.util.zip.GZIPOutputStream&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.zip.ZipEntry&nbsp;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.zip.ZipOutputStream&nbsp;<br />
<br />
<br />
</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Compress&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;gzipFile(from,to)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;inFile&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileInputStream(from);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&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;GZIPOutputStream(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileOutputStream(to));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[]&nbsp;buffer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[</span><span style="color: #000000; ">4096</span><span style="color: #000000; ">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;buffer_read&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">((buffer_read&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;inFile.read(buffer))&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">){<br />
</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(buffer,0,buffer_read);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">use&nbsp;'&lt;&lt;'&nbsp;replace</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;buffer;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">use&nbsp;'&lt;&lt;'&nbsp;replace</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inFile.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();<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;zipDirectory(dir,zipFile){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;dire&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(dir);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">dire.isDirectory()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throw</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;IllegalArgumentException(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">Compress:&nbsp;not&nbsp;a&nbsp;directory:</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;dir);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;entries&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;dire.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[]&nbsp;buffer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[</span><span style="color: #000000; ">4096</span><span style="color: #000000; ">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;bytes_read;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ZipOutputStream&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;ZipOutputStream(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileOutputStream(zipFile));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entries.each{item&nbsp;</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;f&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(dire,item);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(f.isDirectory()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&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;FileInputStream&nbsp;in_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;FileInputStream(f);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ZipEntry&nbsp;entry&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ZipEntry(f.getPath());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.putNextEntry&nbsp;(entry);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">((bytes_read&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;in_file.read(buffer))&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;buffer;<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;in_file.close();<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 />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;main(args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;from&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;args[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;from_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(from);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;directory&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;from_file.isDirectory();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;to&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; ">(directory){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;from&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">.zip</span><span style="color: #000000; ">'</span><span style="color: #000000; ">;<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;to&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;from&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">.gz</span><span style="color: #000000; ">'</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">((</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;File(to)).exists()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;println(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">Compress:&nbsp;won\</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;overwrite&nbsp;existing&nbsp;file:</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;+&nbsp;to);</span><span style="color: #000000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.exit(</span><span style="color: #000000; ">0</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; ">if</span><span style="color: #000000; ">(directory)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress.zipDirectory&nbsp;(from,&nbsp;to);<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;Compress.gzipFile&nbsp;from,&nbsp;to;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div><img src ="http://www.blogjava.net/xiaodong0417/aggbug/354848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaodong0417/" target="_blank">王树东</a> 2011-07-22 12:55 <a href="http://www.blogjava.net/xiaodong0417/archive/2011/07/22/354848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对Java File类的操作-- delete</title><link>http://www.blogjava.net/xiaodong0417/archive/2011/07/07/353865.html</link><dc:creator>王树东</dc:creator><author>王树东</author><pubDate>Thu, 07 Jul 2011 05:13:00 GMT</pubDate><guid>http://www.blogjava.net/xiaodong0417/archive/2011/07/07/353865.html</guid><wfw:comment>http://www.blogjava.net/xiaodong0417/comments/353865.html</wfw:comment><comments>http://www.blogjava.net/xiaodong0417/archive/2011/07/07/353865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaodong0417/comments/commentRss/353865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaodong0417/services/trackbacks/353865.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div>
<div>执行File.delete()时最好做一系列的验证。</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.File;<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;Delete&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Delete()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;constructor&nbsp;stub</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;args<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;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(args.length&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Usage:java&nbsp;Delete&lt;file&nbsp;or&nbsp;directory&gt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.exit(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br />
&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;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delet1e(args[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">(IllegalArgumentException&nbsp;e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err.println(e.getMessage());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;delet1e(String&nbsp;fileName)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;f&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(fileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">f.exists())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Delete:no&nbsp;such&nbsp;file&nbsp;or&nbsp;firectory:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;fileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">f.canWrite())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Delete:write&nbsp;protected&nbsp;:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;fileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(f.isDirectory()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;files&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;f.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(files.length&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Delete:directory&nbsp;not&nbsp;empty:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;fileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;success&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;f.delete();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">success)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Delete:&nbsp;delete&nbsp;failed</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;fail(String&nbsp;msg)</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IllegalArgumentException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throw</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;IllegalArgumentException(msg);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
</div>
</div>
<div></div><img src ="http://www.blogjava.net/xiaodong0417/aggbug/353865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaodong0417/" target="_blank">王树东</a> 2011-07-07 13:13 <a href="http://www.blogjava.net/xiaodong0417/archive/2011/07/07/353865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Object 序列化成XML以及XML反序列化成Java Object</title><link>http://www.blogjava.net/xiaodong0417/archive/2011/07/04/353665.html</link><dc:creator>王树东</dc:creator><author>王树东</author><pubDate>Mon, 04 Jul 2011 12:55:00 GMT</pubDate><guid>http://www.blogjava.net/xiaodong0417/archive/2011/07/04/353665.html</guid><wfw:comment>http://www.blogjava.net/xiaodong0417/comments/353665.html</wfw:comment><comments>http://www.blogjava.net/xiaodong0417/archive/2011/07/04/353665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaodong0417/comments/commentRss/353665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaodong0417/services/trackbacks/353665.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div><span style="color: #464646; font-family: simsun; ">package org.sl.bean;<br />
<br />
import java.beans.XMLDecoder;<br />
import java.beans.XMLEncoder;<br />
import java.io.BufferedInputStream;<br />
import java.io.BufferedOutputStream;<br />
import java.io.ByteArrayInputStream;<br />
import java.io.ByteArrayOutputStream;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.io.OutputStream;<br />
import java.io.Serializable;<br />
<br />
public class ObjectXmlSerial {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;public static void main(String[] args) throws IOException{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;UserBean user = new UserBean();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;OtherUserInfoBean otherUserInfo = new OtherUserInfoBean();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;otherUserInfo.setAddress("汉字");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;otherUserInfo.setEmail("test@test.com");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;user.setName("hello");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;user.setPassword("world");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;user.setOtherUserInfo(otherUserInfo);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;BufferedOutputStream bufferOut = new BufferedOutputStream(byteArrayOut);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;writeObjectToXML(bufferOut, user);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;byte[] bys = byteArrayOut.toByteArray();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;byteArrayOut.close();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;bufferOut.close();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;ByteArrayInputStream byteArrayIn = new ByteArrayInputStream(bys);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;BufferedInputStream bufferIn = new BufferedInputStream(byteArrayIn);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;UserBean user1 = readObjectFromXML(bufferIn);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;byteArrayIn.close();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;bufferIn.close();&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;System.out.println(user1.getName());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;System.out.println(user1.getOtherUserInfo().getAddress());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;public static &lt;T extends Serializable&gt; void writeObjectToXML(OutputStream out, T obj){<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;XMLEncoder xmlEncoder = null;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;try{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;xmlEncoder = new XMLEncoder(out);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;xmlEncoder.writeObject(obj);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}finally{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;if(null != xmlEncoder)<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;xmlEncoder.close();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;@SuppressWarnings("unchecked")<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;public static &lt;T extends Serializable&gt; T readObjectFromXML(InputStream in){<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;T obj = null;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;XMLDecoder xmlDecoder = null;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;try{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;xmlDecoder = new XMLDecoder(in);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;obj = (T) xmlDecoder.readObject();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}finally{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;if(null != xmlDecoder)<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;xmlDecoder.close();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;return obj;<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}<br />
}<br />
</span></div><img src ="http://www.blogjava.net/xiaodong0417/aggbug/353665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaodong0417/" target="_blank">王树东</a> 2011-07-04 20:55 <a href="http://www.blogjava.net/xiaodong0417/archive/2011/07/04/353665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>