﻿<?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-天行键 君子以自强不息；龙聚首 良朋以球会友</title><link>http://www.blogjava.net/zhujiang001/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:28:05 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:28:05 GMT</pubDate><ttl>60</ttl><item><title>写在天龙1：1回联之后的话</title><link>http://www.blogjava.net/zhujiang001/archive/2006/05/16/46382.html</link><dc:creator>孤酷伶仃</dc:creator><author>孤酷伶仃</author><pubDate>Tue, 16 May 2006 05:04:00 GMT</pubDate><guid>http://www.blogjava.net/zhujiang001/archive/2006/05/16/46382.html</guid><wfw:comment>http://www.blogjava.net/zhujiang001/comments/46382.html</wfw:comment><comments>http://www.blogjava.net/zhujiang001/archive/2006/05/16/46382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhujiang001/comments/commentRss/46382.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhujiang001/services/trackbacks/46382.html</trackback:ping><description><![CDATA[<strong>豪赛尔天龙回超第五轮比赛总结——转王壬贴<br /><br /></strong>本想昨晚就把总结发上来，无奈酒喝过了头，不知道昨天喝过头的还有多少人？<br />简单总结几点：<br />1这是回超开始后我队打的最激动人心的一场比赛，技术出众的回联，团结一心的天龙，为大家演译了一场经典的攻防大战。<br />2第89分钟，军刀中场得球，传给gisser后迅速前插，gisser漂亮的分球，军刀禁区内左脚一扣，起右脚打入球门下角。90分钟，回联禁区前任意球，17号踢出一个漂亮的弧线，彪哥一个旱地拔葱，葱太重了，球擦着彪哥的指尖击中门楣入网。哈哈，快感了30秒，这就是足球的魅力啊。<br />3感谢回联的兄弟们，感谢天龙的队友们，感谢现场加油助威的朋友们！<br />天龙本场最佳：军刀？gisser？阿非？肥牛？。。。。。。。。。<br />参加人员：军刀及LD，小虫及LD，建军及LD，李智及LD，小安及LD,小巴及LD，伶仃及小小，我和彭静，gisser、阿非、贝乐 小威 郝亮 国庆 晓辉 chichi 三少 旅游者 乐乐豆、李冲 小记。<br /><br /><strong>天龙醉酒记，纯娱乐，存娱乐！——转肥牛贴</strong><br /><br />话说昨天比赛结束，天龙一行人去FB。席间推杯换盏，好不热闹。大家渐渐都有点喝高了。<br />小巴和国庆在一起闲聊。 小巴：“我真该死！那天我酒后失言，把以前曾结过婚的事告诉了我女朋友。” 国庆：“我更该死！我酒后失 言，把我打算将来再结一次婚的想法说了出来， 我老婆听到了。” <br />席间：王队喝多了，开始给人发钱，一人一百，让人一会打车回家。谁不要他就跟谁急，恨不得暴打人家一顿。第二一早，他就特委屈地挨个打电话，摆出一副可怜相： “哥、兄弟，把昨天给你的钱还给我吧……” <br />席间，卫生间紧张，倍乐憋坏了，去路旁一棵小树旁方便，完事了抽身要走，却感觉有人扯住了他，他回头推辞：“不，不，今天不行，兄弟们都等我呢，妹妹再见。” 无奈就是走不脱。等他的建军眼神不咋好，看他一个人忙活，等得不耐烦了，也过来跟他一起劝解： “小姐，你松手吧 ，我们以后再来，机会有的是。”来来回回推辞半个多小时之后，倍乐和建军才发现，其实是自己把腰带连人带树一起捆上了，还跟树好一阵情意绵。<br />喝着喝着，乐乐豆非得要走，硬是要赶到另一家去会朋友，大家拦他不下，只得放他去了。可没过多久，他又一脸灿烂地突然出现在我们面前，一 边连声抱歉：“对不起，对不起，我刚刚喝了一顿，来晚了。”说着，一屁股坐了下来，冲着服务员喊道： “来啊，上酒！” 后来我们才知道，他离开我们之后，很利落地钻进了车，起步点火，高喊着： “开路，&amp;^%$#！”结果，他在回龙观大街上溜了一圈，把车又开回来了。等他再次来到我们面前时，他已经辨认不出谁是谁来了<br /><br />喝完酒，大家各自回家。<br />国庆喝到面红耳赤,有些担心:“我的老婆很厉害,很可能不让我进家门。”“我教你一招，你喝醉了回家，先在门外把衣服脱光，再按门铃。你老婆打开门时，你就赶紧把衣服扔进屋里。她看到你一丝不挂，肯定让你进家门了。”三少出招说。第二天，三少问国庆。“喂！你老婆让你进门吗？”“唉，别提了！我走到门口，脱光衣服。门开了，我把衣服扔进去……，门咣一声，又关上了，<img src="http://bbs.hlgnet.com/mote/0-13.gif" border="0" />我走错门了！” <br />小安和军刀住附近，一起回家。小安看到路边有一面镜子，便走过去捡了起来，对着镜子说：“这是怎么回事？这个人好面熟啊！！”军刀走 了过来，说：“让我来看看！。。。笨蛋，你怎么连我都不认识了？” <br />建军是新司机，酒后驾车，回家时正碰上警察在查车。就在他暗叫倒霉下车接受检查的时候，警察接了个电话，捧着手机，指手画脚，滔滔不绝地说了 起来。建军一看有机可趁，就悄悄地返回车里，趁打电话的警察不备，风风火火地把车开回了家。到了第二天，有人来敲他家的门，正是昨天 的那个警察。建军的酒现在已经醒了，自然理直气壮地质问警察： “你来干什么？有什么事啊？” 警察说： “你的车我已经给你开到了门口， 现在，你把警车还给我吧。” <br />小纪是搭王队的车回去的。第二天早上王队突然发现小纪睡在小区花园，浑身上下只有一条小裤衩。而他的上衣、裤子、领带，都叠得整整齐齐地放在旁边 ，上面压着他的手机，居然是关了机的。还有球鞋，也是整整齐齐地摆着，袜子放在鞋洞里……看来小纪是把这当家了。后来一想，幸亏小纪没裸睡的爱好，不然，更有热闹可看了。<br />据说警察那天还把一名酒醉的天龙队员送到门口，对他说：“这的确是你的家吗？” “如果你替我开了门，我就马上证明给你看！” 警察打开门带他进去。 “你看见那个足球了吗？那是我的，你看见那架电视机吗？那也是我的。”他们又上二楼。 “这是我的睡房，你 看见那张床吗？睡在那张床上的女人是我的太太，你看见和她睡在一起的人吗？” 警察疑惑地说：“怎样？” “那就是我。” <br /><br />以上纯属娱乐，纯属胡编，如有雷同，绝对巧合，绝对巧合！！^_^<br /><img src ="http://www.blogjava.net/zhujiang001/aggbug/46382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhujiang001/" target="_blank">孤酷伶仃</a> 2006-05-16 13:04 <a href="http://www.blogjava.net/zhujiang001/archive/2006/05/16/46382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Eclipse中使用Hibernate</title><link>http://www.blogjava.net/zhujiang001/archive/2005/10/31/17507.html</link><dc:creator>孤酷伶仃</dc:creator><author>孤酷伶仃</author><pubDate>Mon, 31 Oct 2005 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/zhujiang001/archive/2005/10/31/17507.html</guid><wfw:comment>http://www.blogjava.net/zhujiang001/comments/17507.html</wfw:comment><comments>http://www.blogjava.net/zhujiang001/archive/2005/10/31/17507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhujiang001/comments/commentRss/17507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhujiang001/services/trackbacks/17507.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了Hibernate Synchronizer插件在Eclipse中的应用方法，很详细。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhujiang001/archive/2005/10/31/17507.html'>阅读全文</a><img src ="http://www.blogjava.net/zhujiang001/aggbug/17507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhujiang001/" target="_blank">孤酷伶仃</a> 2005-10-31 10:59 <a href="http://www.blogjava.net/zhujiang001/archive/2005/10/31/17507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用J2SE API读取Properties文件的六种方法</title><link>http://www.blogjava.net/zhujiang001/archive/2005/10/27/16980.html</link><dc:creator>孤酷伶仃</dc:creator><author>孤酷伶仃</author><pubDate>Thu, 27 Oct 2005 03:12:00 GMT</pubDate><guid>http://www.blogjava.net/zhujiang001/archive/2005/10/27/16980.html</guid><wfw:comment>http://www.blogjava.net/zhujiang001/comments/16980.html</wfw:comment><comments>http://www.blogjava.net/zhujiang001/archive/2005/10/27/16980.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhujiang001/comments/commentRss/16980.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhujiang001/services/trackbacks/16980.html</trackback:ping><description><![CDATA[1。使用java.util.Properties类的load()方法<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = lnew BufferedInputStream(new FileInputStream(name));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.load(in);<BR>
<P>2。使用java.util.ResourceBundle类的getBundle()方法<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());</P>
<P>3。使用java.util.PropertyResourceBundle类的构造函数<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = new BufferedInputStream(new FileInputStream(name));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResourceBundle rb = new PropertyResourceBundle(in);</P>
<P>4。使用class变量的getResourceAsStream()方法<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = JProperties.class.getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.load(in);</P>
<P>5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.load(in);</P>
<P>6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法<BR>示例：&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = ClassLoader.getSystemResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.load(in);</P>
<P>补充</P>
<P>Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法<BR>示例：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream in = context.getResourceAsStream(path);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.load(in);<BR><BR><FONT color=#0000ff>完整的示例，可以参考附件文件</FONT><BR><FONT color=#0000ff>JProperties.java文件<BR><FONT color=#008080>/**<BR>** This program is free software.<BR>** <BR>** You may redistribute it and/or modify it under the terms of the GNU<BR>** General Public License as published by the Free Software Foundation.<BR>** Version 2 of the license should be included with this distribution in<BR>** the file LICENSE, as well as License.html. If the license is not<BR>** included with this distribution, you may find a copy at the FSF web<BR>** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the<BR>** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.<BR>**<BR>** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,<BR>** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR<BR>** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY<BR>** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR<BR>** REDISTRIBUTION OF THIS SOFTWARE. <BR>**/</FONT></P>
<P>package com.kindani;</P>
<P>//import javax.servlet.ServletContext;<BR>import java.util.*;<BR>import java.io.InputStream;<BR>import java.io.IOException;<BR>import java.io.BufferedInputStream;<BR>import java.io.FileInputStream;</P>
<P><FONT color=#008080>/**<BR>&nbsp;* 使用J2SE API読取Properties文件的六種方法<BR>&nbsp;* User: SYNFORM<BR>&nbsp;* Date: 2005/07/12<BR>&nbsp;* Time: 18:40:55<BR>&nbsp;* To change this template use File | Settings | File Templates.<BR>&nbsp;*/</FONT><BR>public class JProperties {</P>
<P>&nbsp;&nbsp;&nbsp; public final static int BY_PROPERTIES = 1;<BR>&nbsp;&nbsp;&nbsp; public final static int BY_RESOURCEBUNDLE = 2;<BR>&nbsp;&nbsp;&nbsp; public final static int BY_PROPERTYRESOURCEBUNDLE = 3;<BR>&nbsp;&nbsp;&nbsp; public final static int BY_CLASS = 4;<BR>&nbsp;&nbsp;&nbsp; public final static int BY_CLASSLOADER = 5;<BR>&nbsp;&nbsp;&nbsp; public final static int BY_SYSTEM_CLASSLOADER = 6;</P>
<P>&nbsp;&nbsp;&nbsp; public final static Properties loadProperties(final String name, final int type) throws IOException {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream in = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (type == BY_PROPERTIES) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in = new BufferedInputStream(new FileInputStream(name));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.load(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (type == BY_RESOURCEBUNDLE) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (rb != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = new ResourceBundleAdapter(rb);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (type == BY_PROPERTYRESOURCEBUNDLE) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in = new BufferedInputStream(new FileInputStream(name));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResourceBundle rb = new PropertyResourceBundle(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = new ResourceBundleAdapter(rb);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (type == BY_CLASS) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (JProperties.class.equals(new JProperties().getClass()));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in = JProperties.class.getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.load(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new JProperties().getClass().getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (type == BY_CLASSLOADER) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (JProperties.class.getClassLoader().equals(new JProperties().getClass().getClassLoader()));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in = JProperties.class.getClassLoader().getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.load(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new JProperties().getClass().getClassLoader().getResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (type == BY_SYSTEM_CLASSLOADER) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in = ClassLoader.getSystemResourceAsStream(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.load(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (in != null) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in.close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return p;</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; // ---------------------------------------------- servlet used<BR>/*<BR>&nbsp;&nbsp;&nbsp; public static Properties loadProperties(ServletContext context, String path) throws IOException {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (context != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream in = context.getResourceAsStream(path);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (in != null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties p = new Properties();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.load(in);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in.close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return p;<BR>&nbsp;&nbsp;&nbsp; }<BR>*/</P>
<P>&nbsp;&nbsp;&nbsp; // ---------------------------------------------- support class</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * ResourceBundle Adapter class.<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static class ResourceBundleAdapter extends Properties {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ResourceBundleAdapter(ResourceBundle rb) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert (rb instanceof java.util.PropertyResourceBundle);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.rb = rb;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Enumeration e = rb.getKeys();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (e.hasMoreElements()) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object o = e.nextElement();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.put(o, rb.getObject((String) o));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private ResourceBundle rb = null;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ResourceBundle getBundle(String baseName) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ResourceBundle.getBundle(baseName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ResourceBundle getBundle(String baseName, Locale locale) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ResourceBundle.getBundle(baseName, locale);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ResourceBundle.getBundle(baseName, locale, loader);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Enumeration&lt;String&gt; getKeys() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rb.getKeys();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Locale getLocale() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rb.getLocale();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Object getObject(String key) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rb.getObject(key);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public String getString(String key) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rb.getString(key);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public String[] getStringArray(String key) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rb.getStringArray(key);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Object handleGetObject(String key) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ((PropertyResourceBundle) rb).handleGetObject(key);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>}<BR><BR><BR><FONT color=#0000ff>JPropertiesTest.java文件</FONT><BR><BR><FONT color=#008080>/**<BR>** This program is free software.<BR>** <BR>** You may redistribute it and/or modify it under the terms of the GNU<BR>** General Public License as published by the Free Software Foundation.<BR>** Version 2 of the license should be included with this distribution in<BR>** the file LICENSE, as well as License.html. If the license is not<BR>** included with this distribution, you may find a copy at the FSF web<BR>** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the<BR>** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.<BR>**<BR>** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,<BR>** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR<BR>** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY<BR>** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR<BR>** REDISTRIBUTION OF THIS SOFTWARE. <BR>**/<BR></FONT>package com.kindani.test;</P>
<P>import junit.framework.*;<BR>import com.kindani.JProperties;</P>
<P>//import javax.servlet.ServletContext;<BR>import java.util.Properties;</P>
<P>public class JPropertiesTest extends TestCase {<BR>&nbsp;&nbsp;&nbsp; JProperties jProperties;<BR>&nbsp;&nbsp;&nbsp; String key = "helloworld.title";<BR>&nbsp;&nbsp;&nbsp; String value = "Hello World!";</P>
<P>&nbsp;&nbsp;&nbsp; public void testLoadProperties() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String name = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties p = new Properties();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "C:\\IDEAP\\Properties4Methods\\src\\com\\kindani\\test\\LocalStrings.properties";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name, JProperties.BY_PROPERTIES);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "com.kindani.test.LocalStrings";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name,JProperties.BY_RESOURCEBUNDLE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value,((JProperties.ResourceBundleAdapter)p).getString(key));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "C:\\IDEAP\\Properties4Methods\\src\\com\\kindani\\test\\LocalStrings.properties";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name, JProperties.BY_PROPERTYRESOURCEBUNDLE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value,((JProperties.ResourceBundleAdapter)p).getString(key));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "<A href="file://com//kindani//test//LocalStrings.properties">\\com\\kindani\\test\\LocalStrings.properties</A>";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name, JProperties.BY_SYSTEM_CLASSLOADER);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "<A href="file://com//kindani//test//LocalStrings.properties">\\com\\kindani\\test\\LocalStrings.properties</A>";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name, JProperties.BY_CLASSLOADER);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = "test\\LocalStrings.properties";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(name, JProperties.BY_CLASS);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>/*<BR>&nbsp;&nbsp;&nbsp; public void testLoadProperties2() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext context = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String path = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties p = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path = "/WEB-INF/classes/LocalStrings.properties";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = JProperties.loadProperties(context, path);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertEquals(value, p.getProperty(key));<BR>&nbsp;&nbsp;&nbsp; }<BR>*/<BR>}<BR><BR><FONT color=#0000ff>properties文件与JPropertiesTest.java文件相同的目录下<BR>LocalStrings.properties文件</FONT><BR># $Id: LocalStrings.properties,v 1.1 2000/08/17 00:57:52 horwat Exp $</P>
<P># Default localized resources for example servlets<BR># This locale is en_US</P>
<P>helloworld.title=Hello World!</P>
<P>requestinfo.title=Request Information Example<BR>requestinfo.label.method=Method:<BR>requestinfo.label.requesturi=Request URI:<BR>requestinfo.label.protocol=Protocol:<BR>requestinfo.label.pathinfo=Path Info:<BR>requestinfo.label.remoteaddr=Remote Address:</P>
<P>requestheader.title=Request Header Example</P>
<P>requestparams.title=Request Parameters Example<BR>requestparams.params-in-req=Parameters in this request:<BR>requestparams.no-params=No Parameters, Please enter some<BR>requestparams.firstname=First Name:<BR>requestparams.lastname=Last Name:</P>
<P>cookies.title=Cookies Example<BR>cookies.cookies=Your browser is sending the following cookies:<BR>cookies.no-cookies=Your browser isn't sending any cookies<BR>cookies.make-cookie=Create a cookie to send to your browser<BR>cookies.name=Name:<BR>cookies.value=Value:<BR>cookies.set=You just sent the following cookie to your browser:</P>
<P>sessions.title=Sessions Example<BR>sessions.id=Session ID:<BR>sessions.created=Created:<BR>sessions.lastaccessed=Last Accessed:<BR>sessions.data=The following data is in your session:<BR>sessions.adddata=Add data to your session<BR>sessions.dataname=Name of Session Attribute:<BR>sessions.datavalue=Value of Session Attribute:<BR></P></FONT><img src ="http://www.blogjava.net/zhujiang001/aggbug/16980.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhujiang001/" target="_blank">孤酷伶仃</a> 2005-10-27 11:12 <a href="http://www.blogjava.net/zhujiang001/archive/2005/10/27/16980.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>