﻿<?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-redcreen-文章分类-java</title><link>http://www.blogjava.net/redcreen/category/14979.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 09:37:23 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 09:37:23 GMT</pubDate><ttl>60</ttl><item><title>Java实现汉字转换为拼音</title><link>http://www.blogjava.net/redcreen/articles/71599.html</link><dc:creator>charles</dc:creator><author>charles</author><pubDate>Sun, 24 Sep 2006 13:50:00 GMT</pubDate><guid>http://www.blogjava.net/redcreen/articles/71599.html</guid><wfw:comment>http://www.blogjava.net/redcreen/comments/71599.html</wfw:comment><comments>http://www.blogjava.net/redcreen/articles/71599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redcreen/comments/commentRss/71599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redcreen/services/trackbacks/71599.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Verdana">import java.util.Iterator;<br />import java.util.LinkedHashMap;<br />import java.util.Set;</font>
		</p>
		<p>
				<font face="Verdana">/**<br /> *<br /> 汉字转化为全拼<br /></font>
				<font face="Verdana"> *<br /></font>
				<font face="Verdana"> JDK版本:</font>
				<font face="Verdana"> 1.4<br /></font>
				<font face="Verdana">
						<br />public class CnToSpell {<br />    private static LinkedHashMap spellMap = null;</font>
		</p>
		<p>
				<font face="Verdana">    static {<br />        if (spellMap == null) {<br />            spellMap = new LinkedHashMap(400);<br />        }<br />        initialize();<br />        System.out.println("Chinese transfer Spell Done.");<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    private CnToSpell() {<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    private static void spellPut(String spell, int ascii) {<br />        spellMap.put(spell, new Integer(ascii));<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    private static void initialize() {<br />        spellPut("a", -20319);<br />        spellPut("ai", -20317);<br />        spellPut("an", -20304);<br />        spellPut("ang", -20295);<br />        spellPut("ao", -20292);<br />        spellPut("ba", -20283);<br />        spellPut("bai", -20265);<br />        spellPut("ban", -20257);<br />        spellPut("bang", -20242);<br />        spellPut("bao", -20230);<br />        spellPut("bei", -20051);<br />        spellPut("ben", -20036);<br />        spellPut("beng", -20032);<br />        spellPut("bi", -20026);<br />        spellPut("bian", -20002);<br />        spellPut("biao", -19990);<br />        spellPut("bie", -19986);<br />        spellPut("bin", -19982);<br />        spellPut("bing", -19976);<br />        spellPut("bo", -19805);<br />        spellPut("bu", -19784);<br />        spellPut("ca", -19775);<br />        spellPut("cai", -19774);<br />        spellPut("can", -19763);<br />        spellPut("cang", -19756);<br />        spellPut("cao", -19751);<br />        spellPut("ce", -19746);<br />        spellPut("ceng", -19741);<br />        spellPut("cha", -19739);<br />        spellPut("chai", -19728);<br />        spellPut("chan", -19725);<br />        spellPut("chang", -19715);<br />        spellPut("chao", -19540);<br />        spellPut("che", -19531);<br />        spellPut("chen", -19525);<br />        spellPut("cheng", -19515);<br />        spellPut("chi", -19500);<br />        spellPut("chong", -19484);<br />        spellPut("chou", -19479);<br />        spellPut("chu", -19467);<br />        spellPut("chuai", -19289);<br />        spellPut("chuan", -19288);<br />        spellPut("chuang", -19281);<br />        spellPut("chui", -19275);<br />        spellPut("chun", -19270);<br />        spellPut("chuo", -19263);<br />        spellPut("ci", -19261);<br />        spellPut("cong", -19249);<br />        spellPut("cou", -19243);<br />        spellPut("cu", -19242);<br />        spellPut("cuan", -19238);<br />        spellPut("cui", -19235);<br />        spellPut("cun", -19227);<br />        spellPut("cuo", -19224);<br />        spellPut("da", -19218);<br />        spellPut("dai", -19212);<br />        spellPut("dan", -19038);<br />        spellPut("dang", -19023);<br />        spellPut("dao", -19018);<br />        spellPut("de", -19006);<br />        spellPut("deng", -19003);<br />        spellPut("di", -18996);<br />        spellPut("dian", -18977);<br />        spellPut("diao", -18961);<br />        spellPut("die", -18952);<br />        spellPut("ding", -18783);<br />        spellPut("diu", -18774);<br />        spellPut("dong", -18773);<br />        spellPut("dou", -18763);<br />        spellPut("du", -18756);<br />        spellPut("duan", -18741);<br />        spellPut("dui", -18735);<br />        spellPut("dun", -18731);<br />        spellPut("duo", -18722);<br />        spellPut("e", -18710);<br />        spellPut("en", -18697);<br />        spellPut("er", -18696);<br />        spellPut("fa", -18526);<br />        spellPut("fan", -18518);<br />        spellPut("fang", -18501);<br />        spellPut("fei", -18490);<br />        spellPut("fen", -18478);<br />        spellPut("feng", -18463);<br />        spellPut("fo", -18448);<br />        spellPut("fou", -18447);<br />        spellPut("fu", -18446);<br />        spellPut("ga", -18239);<br />        spellPut("gai", -18237);<br />        spellPut("gan", -18231);<br />        spellPut("gang", -18220);<br />        spellPut("gao", -18211);<br />        spellPut("ge", -18201);<br />        spellPut("gei", -18184);<br />        spellPut("gen", -18183);<br />        spellPut("geng", -18181);<br />        spellPut("gong", -18012);<br />        spellPut("gou", -17997);<br />        spellPut("gu", -17988);<br />        spellPut("gua", -17970);<br />        spellPut("guai", -17964);<br />        spellPut("guan", -17961);<br />        spellPut("guang", -17950);<br />        spellPut("gui", -17947);<br />        spellPut("gun", -17931);<br />        spellPut("guo", -17928);<br />        spellPut("ha", -17922);<br />        spellPut("hai", -17759);<br />        spellPut("han", -17752);<br />        spellPut("hang", -17733);<br />        spellPut("hao", -17730);<br />        spellPut("he", -17721);<br />        spellPut("hei", -17703);<br />        spellPut("hen", -17701);<br />        spellPut("heng", -17697);<br />        spellPut("hong", -17692);<br />        spellPut("hou", -17683);<br />        spellPut("hu", -17676);<br />        spellPut("hua", -17496);<br />        spellPut("huai", -17487);<br />        spellPut("huan", -17482);<br />        spellPut("huang", -17468);<br />        spellPut("hui", -17454);<br />        spellPut("hun", -17433);<br />        spellPut("huo", -17427);<br />        spellPut("ji", -17417);<br />        spellPut("jia", -17202);<br />        spellPut("jian", -17185);<br />        spellPut("jiang", -16983);<br />        spellPut("jiao", -16970);<br />        spellPut("jie", -16942);<br />        spellPut("jin", -16915);<br />        spellPut("jing", -16733);<br />        spellPut("jiong", -16708);<br />        spellPut("jiu", -16706);<br />        spellPut("ju", -16689);<br />        spellPut("juan", -16664);<br />        spellPut("jue", -16657);<br />        spellPut("jun", -16647);<br />        spellPut("ka", -16474);<br />        spellPut("kai", -16470);<br />        spellPut("kan", -16465);<br />        spellPut("kang", -16459);<br />        spellPut("kao", -16452);<br />        spellPut("ke", -16448);<br />        spellPut("ken", -16433);<br />        spellPut("keng", -16429);<br />        spellPut("kong", -16427);<br />        spellPut("kou", -16423);<br />        spellPut("ku", -16419);<br />        spellPut("kua", -16412);<br />        spellPut("kuai", -16407);<br />        spellPut("kuan", -16403);<br />        spellPut("kuang", -16401);<br />        spellPut("kui", -16393);<br />        spellPut("kun", -16220);<br />        spellPut("kuo", -16216);<br />        spellPut("la", -16212);<br />        spellPut("lai", -16205);<br />        spellPut("lan", -16202);<br />        spellPut("lang", -16187);<br />        spellPut("lao", -16180);<br />        spellPut("le", -16171);<br />        spellPut("lei", -16169);<br />        spellPut("leng", -16158);<br />        spellPut("li", -16155);<br />        spellPut("lia", -15959);<br />        spellPut("lian", -15958);<br />        spellPut("liang", -15944);<br />        spellPut("liao", -15933);<br />        spellPut("lie", -15920);<br />        spellPut("lin", -15915);<br />        spellPut("ling", -15903);<br />        spellPut("liu", -15889);<br />        spellPut("long", -15878);<br />        spellPut("lou", -15707);<br />        spellPut("lu", -15701);<br />        spellPut("lv", -15681);<br />        spellPut("luan", -15667);<br />        spellPut("lue", -15661);<br />        spellPut("lun", -15659);<br />        spellPut("luo", -15652);<br />        spellPut("ma", -15640);<br />        spellPut("mai", -15631);<br />        spellPut("man", -15625);<br />        spellPut("mang", -15454);<br />        spellPut("mao", -15448);<br />        spellPut("me", -15436);<br />        spellPut("mei", -15435);<br />        spellPut("men", -15419);<br />        spellPut("meng", -15416);<br />        spellPut("mi", -15408);<br />        spellPut("mian", -15394);<br />        spellPut("miao", -15385);<br />        spellPut("mie", -15377);<br />        spellPut("min", -15375);<br />        spellPut("ming", -15369);<br />        spellPut("miu", -15363);<br />        spellPut("mo", -15362);<br />        spellPut("mou", -15183);<br />        spellPut("mu", -15180);<br />        spellPut("na", -15165);<br />        spellPut("nai", -15158);<br />        spellPut("nan", -15153);<br />        spellPut("nang", -15150);<br />        spellPut("nao", -15149);<br />        spellPut("ne", -15144);<br />        spellPut("nei", -15143);<br />        spellPut("nen", -15141);<br />        spellPut("neng", -15140);<br />        spellPut("ni", -15139);<br />        spellPut("nian", -15128);<br />        spellPut("niang", -15121);<br />        spellPut("niao", -15119);<br />        spellPut("nie", -15117);<br />        spellPut("nin", -15110);<br />        spellPut("ning", -15109);<br />        spellPut("niu", -14941);<br />        spellPut("nong", -14937);<br />        spellPut("nu", -14933);<br />        spellPut("nv", -14930);<br />        spellPut("nuan", -14929);<br />        spellPut("nue", -14928);<br />        spellPut("nuo", -14926);<br />        spellPut("o", -14922);<br />        spellPut("ou", -14921);<br />        spellPut("pa", -14914);<br />        spellPut("pai", -14908);<br />        spellPut("pan", -14902);<br />        spellPut("pang", -14894);<br />        spellPut("pao", -14889);<br />        spellPut("pei", -14882);<br />        spellPut("pen", -14873);<br />        spellPut("peng", -14871);<br />        spellPut("pi", -14857);<br />        spellPut("pian", -14678);<br />        spellPut("piao", -14674);<br />        spellPut("pie", -14670);<br />        spellPut("pin", -14668);<br />        spellPut("ping", -14663);<br />        spellPut("po", -14654);<br />        spellPut("pu", -14645);<br />        spellPut("qi", -14630);<br />        spellPut("qia", -14594);<br />        spellPut("qian", -14429);<br />        spellPut("qiang", -14407);<br />        spellPut("qiao", -14399);<br />        spellPut("qie", -14384);<br />        spellPut("qin", -14379);<br />        spellPut("qing", -14368);<br />        spellPut("qiong", -14355);<br />        spellPut("qiu", -14353);<br />        spellPut("qu", -14345);<br />        spellPut("quan", -14170);<br />        spellPut("que", -14159);<br />        spellPut("qun", -14151);<br />        spellPut("ran", -14149);<br />        spellPut("rang", -14145);<br />        spellPut("rao", -14140);<br />        spellPut("re", -14137);<br />        spellPut("ren", -14135);<br />        spellPut("reng", -14125);<br />        spellPut("ri", -14123);<br />        spellPut("rong", -14122);<br />        spellPut("rou", -14112);<br />        spellPut("ru", -14109);<br />        spellPut("ruan", -14099);<br />        spellPut("rui", -14097);<br />        spellPut("run", -14094);<br />        spellPut("ruo", -14092);<br />        spellPut("sa", -14090);<br />        spellPut("sai", -14087);<br />        spellPut("san", -14083);<br />        spellPut("sang", -13917);<br />        spellPut("sao", -13914);<br />        spellPut("se", -13910);<br />        spellPut("sen", -13907);<br />        spellPut("seng", -13906);<br />        spellPut("sha", -13905);<br />        spellPut("shai", -13896);<br />        spellPut("shan", -13894);<br />        spellPut("shang", -13878);<br />        spellPut("shao", -13870);<br />        spellPut("she", -13859);<br />        spellPut("shen", -13847);<br />        spellPut("sheng", -13831);<br />        spellPut("shi", -13658);<br />        spellPut("shou", -13611);<br />        spellPut("shu", -13601);<br />        spellPut("shua", -13406);<br />        spellPut("shuai", -13404);<br />        spellPut("shuan", -13400);<br />        spellPut("shuang", -13398);<br />        spellPut("shui", -13395);<br />        spellPut("shun", -13391);<br />        spellPut("shuo", -13387);<br />        spellPut("si", -13383);<br />        spellPut("song", -13367);<br />        spellPut("sou", -13359);<br />        spellPut("su", -13356);<br />        spellPut("suan", -13343);<br />        spellPut("sui", -13340);<br />        spellPut("sun", -13329);<br />        spellPut("suo", -13326);<br />        spellPut("ta", -13318);<br />        spellPut("tai", -13147);<br />        spellPut("tan", -13138);<br />        spellPut("tang", -13120);<br />        spellPut("tao", -13107);<br />        spellPut("te", -13096);<br />        spellPut("teng", -13095);<br />        spellPut("ti", -13091);<br />        spellPut("tian", -13076);<br />        spellPut("tiao", -13068);<br />        spellPut("tie", -13063);<br />        spellPut("ting", -13060);<br />        spellPut("tong", -12888);<br />        spellPut("tou", -12875);<br />        spellPut("tu", -12871);<br />        spellPut("tuan", -12860);<br />        spellPut("tui", -12858);<br />        spellPut("tun", -12852);<br />        spellPut("tuo", -12849);<br />        spellPut("wa", -12838);<br />        spellPut("wai", -12831);<br />        spellPut("wan", -12829);<br />        spellPut("wang", -12812);<br />        spellPut("wei", -12802);<br />        spellPut("wen", -12607);<br />        spellPut("weng", -12597);<br />        spellPut("wo", -12594);<br />        spellPut("wu", -12585);<br />        spellPut("xi", -12556);<br />        spellPut("xia", -12359);<br />        spellPut("xian", -12346);<br />        spellPut("xiang", -12320);<br />        spellPut("xiao", -12300);<br />        spellPut("xie", -12120);<br />        spellPut("xin", -12099);<br />        spellPut("xing", -12089);<br />        spellPut("xiong", -12074);<br />        spellPut("xiu", -12067);<br />        spellPut("xu", -12058);<br />        spellPut("xuan", -12039);<br />        spellPut("xue", -11867);<br />        spellPut("xun", -11861);<br />        spellPut("ya", -11847);<br />        spellPut("yan", -11831);<br />        spellPut("yang", -11798);<br />        spellPut("yao", -11781);<br />        spellPut("ye", -11604);<br />        spellPut("yi", -11589);<br />        spellPut("yin", -11536);<br />        spellPut("ying", -11358);<br />        spellPut("yo", -11340);<br />        spellPut("yong", -11339);<br />        spellPut("you", -11324);<br />        spellPut("yu", -11303);<br />        spellPut("yuan", -11097);<br />        spellPut("yue", -11077);<br />        spellPut("yun", -11067);<br />        spellPut("za", -11055);<br />        spellPut("zai", -11052);<br />        spellPut("zan", -11045);<br />        spellPut("zang", -11041);<br />        spellPut("zao", -11038);<br />        spellPut("ze", -11024);<br />        spellPut("zei", -11020);<br />        spellPut("zen", -11019);<br />        spellPut("zeng", -11018);<br />        spellPut("zha", -11014);<br />        spellPut("zhai", -10838);<br />        spellPut("zhan", -10832);<br />        spellPut("zhang", -10815);<br />        spellPut("zhao", -10800);<br />        spellPut("zhe", -10790);<br />        spellPut("zhen", -10780);<br />        spellPut("zheng", -10764);<br />        spellPut("zhi", -10587);<br />        spellPut("zhong", -10544);<br />        spellPut("zhou", -10533);<br />        spellPut("zhu", -10519);<br />        spellPut("zhua", -10331);<br />        spellPut("zhuai", -10329);<br />        spellPut("zhuan", -10328);<br />        spellPut("zhuang", -10322);<br />        spellPut("zhui", -10315);<br />        spellPut("zhun", -10309);<br />        spellPut("zhuo", -10307);<br />        spellPut("zi", -10296);<br />        spellPut("zong", -10281);<br />        spellPut("zou", -10274);<br />        spellPut("zu", -10270);<br />        spellPut("zuan", -10262);<br />        spellPut("zui", -10260);<br />        spellPut("zun", -10256);<br />        spellPut("zuo", -10254);<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    /**<br />     * 获得单个汉字的Ascii.<br />     * @param cn char<br />     * 汉字字符<br />     * @return int<br />     * 错误返回 0,否则返回ascii<br />     */<br />    public static int getCnAscii(char cn) {<br />        byte[] bytes = (String.valueOf(cn)).getBytes();<br />        if (bytes == null || bytes.length &gt; 2 || bytes.length &lt;= 0) { //错误<br />            return 0;<br />        }<br />        if (bytes.length == 1) { //英文字符<br />            return bytes[0];<br />        }<br />        if (bytes.length == 2) { //中文字符<br />            int hightByte = 256 + bytes[0];<br />            int lowByte = 256 + bytes[1];</font>
		</p>
		<p>
				<font face="Verdana">            int ascii = (256 * hightByte + lowByte) - 256 * 256;</font>
		</p>
		<p>
				<font face="Verdana">//System.out.println("ASCII=" + ascii);</font>
		</p>
		<p>
				<font face="Verdana">            return ascii;<br />        }</font>
		</p>
		<p>
				<font face="Verdana">        return 0; //错误<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    /**<br />     * 根据ASCII码到SpellMap中查找对应的拼音<br />     * @param ascii int<br />     * 字符对应的ASCII<br />     * @return String<br />     * 拼音,首先判断ASCII是否&gt;0&amp;&lt;160,如果是返回对应的字符,<br />     *<br />     否则到SpellMap中查找,如果没有找到拼音,则返回null,如果找到则返回拼音.<br />     */<br />    public static String getSpellByAscii(int ascii) {<br />        if (ascii &gt; 0 &amp;&amp; ascii &lt; 160) { //单字符<br />            return String.valueOf((char) ascii);<br />        }</font>
		</p>
		<p>
				<font face="Verdana">        if (ascii &lt; -20319 || ascii &gt; -10247) { //不知道的字符<br />            return null;<br />        }</font>
		</p>
		<p>
				<font face="Verdana">        Set keySet = spellMap.keySet();<br />        Iterator it = keySet.iterator();</font>
		</p>
		<p>
				<font face="Verdana">        String spell0 = null; ;<br />        String spell = null;</font>
		</p>
		<p>
				<font face="Verdana">        int asciiRang0 = -20319;<br />        int asciiRang;<br />        while (it.hasNext()) {</font>
		</p>
		<p>
				<font face="Verdana">            spell = (String) it.next();<br />            Object valObj = spellMap.get(spell);<br />            if (valObj instanceof Integer) {<br />                asciiRang = ((Integer) valObj).intValue();</font>
		</p>
		<p>
				<font face="Verdana">                if (ascii &gt;= asciiRang0 &amp;&amp; ascii &lt; asciiRang) { //区间找到<br />                    return (spell0 == null) ? spell : spell0;<br />                } else {<br />                    spell0 = spell;<br />                    asciiRang0 = asciiRang;<br />                }<br />            }<br />        }</font>
		</p>
		<p>
				<font face="Verdana">        return null;</font>
		</p>
		<p>
				<font face="Verdana">    }</font>
		</p>
		<p>
				<font face="Verdana">    /**<br />     * 返回字符串的全拼,是汉字转化为全拼,其它字符不进行转换<br />     * @param cnStr String<br />     * 字符串<br />     * @return String<br />     * 转换成全拼后的字符串<br />     */<br />    public static String getFullSpell(String cnStr) {<br />        if (null == cnStr || "".equals(cnStr.trim())) {<br />            return cnStr;<br />        }</font>
		</p>
		<p>
				<font face="Verdana">        char[] chars = cnStr.toCharArray();<br />        StringBuffer retuBuf = new StringBuffer();<br />        for (int i = 0, Len = chars.length; i &lt; Len; i++) {<br />            int ascii = getCnAscii(chars[i]);<br />            if (ascii == 0) { //取ascii时出错<br />                retuBuf.append(chars[i]);<br />            } else {<br />                String spell = getSpellByAscii(ascii);<br />                if (spell == null) {<br />                    retuBuf.append(chars[i]);<br />                } else {<br />                    retuBuf.append(spell);<br />                } // end of if spell == null<br />            } // end of if ascii &lt;= -20400<br />        } // end of for</font>
		</p>
		<p>
				<font face="Verdana">        return retuBuf.toString();<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    public static String getFirstSpell(String cnStr) {<br />        return null;<br />    }</font>
		</p>
		<p>
				<font face="Verdana">    public static void main(String[] args) {<br />        String str = null;<br />        str = "小红帽";<br />        System.out.println("Spell=" + CnToSpell.getFullSpell(str));</font>
				<font face="Verdana">  }<br />}</font>
		</p>
<img src ="http://www.blogjava.net/redcreen/aggbug/71599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redcreen/" target="_blank">charles</a> 2006-09-24 21:50 <a href="http://www.blogjava.net/redcreen/articles/71599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SimpleDateFormat 类　的使用方法</title><link>http://www.blogjava.net/redcreen/articles/70536.html</link><dc:creator>charles</dc:creator><author>charles</author><pubDate>Tue, 19 Sep 2006 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/redcreen/articles/70536.html</guid><wfw:comment>http://www.blogjava.net/redcreen/comments/70536.html</wfw:comment><comments>http://www.blogjava.net/redcreen/articles/70536.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redcreen/comments/commentRss/70536.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redcreen/services/trackbacks/70536.html</trackback:ping><description><![CDATA[java.text.SimpleDateFormat<br />构造函数：SimpleDateFormat(String formatString)<br /><br />eg: <br />Date date=new Date();<br />SimpleDateFormat sdf=SimpleDateFormat("dd MMM yyyy hh:mm:ss zzz");<br />System.out.print(sdf.format(date));<br /><br />SimpleDateFormat的格式化字符串符号<br />符号               说明<br />ａ                  上午（ＡＭ）或下午（ＰＭ）<br />ｄ　               一个月的天数（1-31)<br />h　               上午/下午(AM/PM)的小时数（1~12)<br />k 　               一天的小时数（１－２４）<br />ｍ　               一小时的分钟数<br />ｓ　               一分钟的秒数<br />ｗ　               一年的星期数（1-52）<br />ｙ 　               年<br />ｚ　               时区<br />D　               一年的天数<br />E　               一个星期的天数（ｅｇ星期四）<br />F　               一月内星期的天数<br />G　               纪元（就是公元前或公元后）<br />Ｈ　               一天的小时数（0-23）<br />Ｋ　               上午/下午的小时数（0-11）<br />Ｍ　               月<br />Ｓ　               毫秒<br />Ｗ　               一月的星期数（1-5）<br />Ｚ　               ＲＦＣ822格式的时区<img src ="http://www.blogjava.net/redcreen/aggbug/70536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redcreen/" target="_blank">charles</a> 2006-09-19 15:12 <a href="http://www.blogjava.net/redcreen/articles/70536.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>StringOperate  </title><link>http://www.blogjava.net/redcreen/articles/69349.html</link><dc:creator>charles</dc:creator><author>charles</author><pubDate>Wed, 13 Sep 2006 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/redcreen/articles/69349.html</guid><wfw:comment>http://www.blogjava.net/redcreen/comments/69349.html</wfw:comment><comments>http://www.blogjava.net/redcreen/articles/69349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redcreen/comments/commentRss/69349.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redcreen/services/trackbacks/69349.html</trackback:ping><description><![CDATA[
		<p>package com.mapbar.tools;</p>
		<p>
				<br />import java.lang.String.*;<br />import java.util.*;<br />import java.text.*;<br />import java.util.regex.*;<br />import sun.misc.BASE64Decoder;</p>
		<p>public class StringOperate {</p>
		<p>    String Error = new String("");  //As Err 代码<br />    /*<br />    功能：初始化<br />    输入参数：无输入参数<br />    返回值：无返回值<br />    */<br />    public StringOperate() {<br />        Error = "";<br />    }<br />    public static void main(String[] args){<br />     String temp="";<br />     StringOperate so=new StringOperate();<br />     temp=so.StringPlus1("aZ");<br />     System.out.print(temp);<br />    }<br />    /**<br />    * 功能：将原字符串修改为固定长度的字符串<br />    * （字数不足的，则在指定方向加入指定字符；字数超出的，则从左侧截取指定长度）<br />    * @param xstring 要进行处理的字符串<br />    * @param xlength 要修改的目标长度<br />    * @param xin 字数长度不够的时候，要增加的指定字符（字长1位）<br />    * @param xtarget 指定的方向(l=左，r=右)<br />    * @return 返回处理后的字符串，如果有错返回""<br />    */<br />    public String Make_Length(String xstring, int xlength, String xin, char xtarget) {<br />        String xxin,xinstr,xtempstr;<br />        int xxlength,i;<br />        xxlength = xlength;<br />        xxin = "";<br />        xinstr = "";<br />        xtempstr = "";</p>
		<p>        if (xin.length()&lt;1){<br />            xxin = "0"; //默认信息<br />        }<br />        else if(xin.length() &gt; 1){<br />            xxin = xin.substring(0,1);<br />        }<br />        else{<br />            xxin = xin;<br />        }</p>
		<p>        if (xstring.length() &gt; xxlength) { //比预定字符串短，要截取<br />            if (xtarget == 'r'){<br />                xtempstr = xstring.substring(xstring.length()-xxlength, xstring.length()) ;<br />            }<br />            else { //默认为左侧<br />                xtempstr = xstring.substring(0, xxlength);<br />            }<br />        }<br />        else if (xstring.length() &lt; xxlength){  //比预定字符串长，要增加指定字符<br />            xinstr = "";<br />            for (i = 1; i&lt;= xxlength - xstring.length(); i++){<br />                xinstr = xinstr + xxin;<br />            }<br />            if (xtarget == 'r') {<br />                xtempstr = xstring + xinstr;<br />            }<br />            else { //默认为左侧<br />                xtempstr = xinstr + xstring;<br />            }<br />        }<br />        else {<br />            xtempstr = xstring;<br />        }</p>
		<p>     return xtempstr;<br />    }</p>
		<p>    /**<br />    * 功能：将文本格式的字符串转变为适合html页面浏览的字符串<br />    * @param xstring 要进行处理的字符串<br />    * @return 返回处理后的字符串，如果有错返回""<br />    */<br />    public String HtmlEncode(String xstring){<br />        String xtempstr;<br />        xtempstr = GetNoNull(xstring);</p>
		<p>        xtempstr = xtempstr.replaceAll("&amp;", "&amp;amp;");<br />        //xtempstr = replace(xtempstr, "  ", "&amp;nbsp; ")<br />        xtempstr = xtempstr.replaceAll("  ", "&amp;nbsp;&amp;nbsp;");<br />        xtempstr = xtempstr.replaceAll(Character.toString((char) 34), "&amp;quot;"); //双引号<br />        xtempstr = xtempstr.replaceAll(Character.toString((char) 39), "&amp;#39;"); //单引号<br />        xtempstr = xtempstr.replaceAll("&gt;", "&amp;gt;");<br />        xtempstr = xtempstr.replaceAll("&lt;", "&amp;lt;");<br />        xtempstr = xtempstr.replaceAll("\r\n", "&lt;br&gt;");<br />        xtempstr = xtempstr.replaceAll("\n", "&lt;br&gt;");</p>
		<p>        return xtempstr;<br />    }</p>
		<p>    /**<br />    * 功能：将文本格式的字符串转变为适合html页面TEXT文本框内浏览的字符串<br />    * @param xstring 要进行处理的字符串<br />    * @return 返回处理后的字符串，如果有错返回“”<br />    */<br />    public String HtmlEncodeText(String xstring){<br />        String xtempstr;<br />        xtempstr = GetNoNull(xstring);</p>
		<p>        //xtempstr = xtempstr.replaceAll("  ", "&amp;nbsp;&amp;nbsp;");<br />        //xtempstr = replace(xtempstr, "  ", "&amp;nbsp; ")<br />        xtempstr = xtempstr.replaceAll("&gt;", "&amp;gt;");<br />        xtempstr = xtempstr.replaceAll("&lt;", "&amp;lt;");<br />        //xtempstr = xtempstr.replaceAll("\n", "&lt;br&gt;");</p>
		<p>        return xtempstr;<br />    }</p>
		<p>    /**<br />    * 功能：将文本格式的字符串转变为适合wml页面浏览的字符串<br />    * @param xstring 要进行处理的字符串<br />    * @return 返回处理后的字符串，如果有错返回""<br />    */<br />    public String WmlEncode(String xstring){<br />        String xtempstr;<br />        xtempstr = GetNoNull(xstring);</p>
		<p>        xtempstr = xtempstr.replaceAll("&amp;", "&amp;amp;");<br />        //xtempstr = replace(xtempstr, "  ", "&amp;nbsp; ")<br />        xtempstr = xtempstr.replaceAll("  ", "&amp;nbsp;&amp;nbsp;");<br />        xtempstr = xtempstr.replaceAll(Character.toString((char) 34), "&amp;quot;"); //双引号<br />        xtempstr = xtempstr.replaceAll(Character.toString((char) 39), "&amp;#39;"); //单引号<br />        xtempstr = xtempstr.replaceAll("&gt;", "&amp;gt;");<br />        xtempstr = xtempstr.replaceAll("&lt;", "&amp;lt;");<br />        xtempstr = xtempstr.replaceAll("\r\n", "&lt;br/&gt;");<br />        xtempstr = xtempstr.replaceAll("\n", "&lt;br/&gt;");</p>
		<p>        return xtempstr;<br />    }</p>
		<p>    /**<br />    * 功能：将html页面浏览的字符串转变为文本格式的字符串 (与HtmlToText 函数对应并且匹配)，用于提交表单的数据还原<br />    * @param xstring 要进行处理的字符串<br />    * @return 返回处理后的字符串，如果有错返回""<br />    */<br />    public String unHtmlEncode(String xstring){<br />        String xtempstr;<br />        xtempstr = GetNoNull(xstring);</p>
		<p>        xtempstr = xtempstr.replaceAll("&amp;nbsp;", " ");<br />        xtempstr = xtempstr.replaceAll("&amp;amp;", "&amp;");<br />        xtempstr = xtempstr.replaceAll("&amp;quot;", Character.toString((char) 34)); //双引号<br />        xtempstr = xtempstr.replaceAll( "&amp;#39;", Character.toString((char) 39)); //单引号<br />        xtempstr = xtempstr.replaceAll("&amp;gt;", "&gt;");<br />        xtempstr = xtempstr.replaceAll("&amp;lt;", "&lt;");<br />        xtempstr = xtempstr.replaceAll("&lt;br&gt;", "\r\n");</p>
		<p>        return xtempstr;<br />    }</p>
		<p>    /**<br />    * 功能：整理日期变量为标准的 yyyy-MM-dd H:m:s 格式<br />    * @param xdate 需要处理的日期型变量<br />    * @param 返回整理后的规定格式日期字符串,如果为非法日期返回"",同时将传入参数xdate转变为规范格式<br />    */<br />   public String GetDate(String xdate){<br />      String xtempstr;<br />      SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");<br />      xtempstr = GetNoNull(xdate);</p>
		<p>      if (xtempstr.length() &gt; 0) {<br />          if (toDate(xdate)!=null) {<br />              xtempstr = timeformat.format(toDate(xdate));<br />          }<br />          else{<br />              xtempstr = "";<br />          }</p>
		<p>      }<br />      return xtempstr;<br />    }</p>
		<p>    /**<br />    * 此类别内私用函数，功能：将标准 yyyy-MM-dd H:m:s 格式字符串转变为Date变量<br />    * @param xdate 需要处理的日期型变量<br />    * @return 返回整理后的日期型变量,如果为非法日期格式字符串返回null<br />    */<br />    public Date toDate(String xdate){</p>
		<p>        java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");<br />        try {<br />            java.util.Date d=sdf.parse(xdate);<br />            java.sql.Date d1=new java.sql.Date(d.getTime());<br />            return d1;<br />        }<br />        catch (Exception ex) {<br />            System.out.println("sms stringclass error:" + ex);<br />            return null;<br />        }</p>
		<p>    }</p>
		<p>    /**<br />    * 功能：求得xnum位的随机ID值<br />    * @param xnum 随机数的长度（位数）<br />    * @return xnum位数的随机数<br />    */<br />    public String MakeRnd(int xnum) {<br />        int i,j,k;<br />        String xx;<br />        xx = "";</p>
		<p>        for (i = 1; i &lt;= xnum; i++) {</p>
		<p>            //取1-3的随机数<br />            j = ((int)((3 - 1 + 1) * java.lang.Math.random() + 1));<br />            if (j == 1) {<br />                //取1-26的随机数<br />                k = 96 + ((int)((26 - 1 + 1) * java.lang.Math.random() + 1)); //a -z<br />            }<br />            else if (j == 2) {<br />                //取1 - 26的随机数<br />                k = 64 + ((int)((26 - 1 + 1) * java.lang.Math.random() + 1)); //A -Z<br />            }<br />            else {<br />                //取1 - 10的随机数<br />                k = 47 + ((int)((10 - 1 + 1) * java.lang.Math.random() + 1)); //0 -9<br />            }<br />            xx = xx + (char) k;<br />        }</p>
		<p>        return xx;</p>
		<p>    }</p>
		<p>    /**<br />   * 功能：求得xnum位的随机ID值---小写字符+数字<br />   * @param xnum 随机数的长度（位数）<br />   * @return xnum位数的随机数<br />   */<br />   public String MakePassWordRnd(int xnum) {<br />       int i,j,k;<br />       String xx;<br />       xx = "";<br />       for (i = 1; i &lt;= xnum; i++) {<br />           j = ((int)((2 - 1 + 1) * java.lang.Math.random() + 1));<br />           //取1-2的随机数<br />           if (j == 1) {<br />               //取1-26的随机数<br />               k = 96 + ((int)((26 - 1 + 1) * java.lang.Math.random() + 1)); //a -z<br />           }<br />           else {<br />               //取1 - 10的随机数<br />               k = 47 + ((int)((10 - 1 + 1) * java.lang.Math.random() + 1)); //0 -9<br />           }<br />           xx = xx + (char) k;<br />       }<br />       return xx;</p>
		<p>   }</p>
		<p>
				<br />    /**<br />    * 功能：输出文件扩展名<br />    * @param FileName 文件全名<br />    * @return 扩展名<br />    */<br />     public String GetExtendName(String FileName) {<br />         String ExtName;<br />         ExtName = FileName.toLowerCase();<br />         if (ExtName.lastIndexOf(".")&gt;=0){<br />             ExtName = ExtName.substring(ExtName.lastIndexOf("."), ExtName.length());<br />         }<br />         else{<br />             ExtName = "";<br />         }</p>
		<p>         return ExtName;<br />     }</p>
		<p>     /**<br />     * 功能：输出字符串的长度，可区别中英文（中文字符将占2个长度）<br />     * @param xstring 需要测长的字符串<br />     * @return 纯英文字符串长度<br />     */<br />     public int CnLength(String xstring) {<br />        int p_len, xx, ascChr;<br />        char xchar;<br />        p_len = 0;<br />        xx = 0;<br />        if (xstring == null) {<br />            xx = 0;<br />        }<br />        else {<br />            for ( xx = 1; xx &lt;= xstring.length(); xx++ ) {<br />                xchar = xstring.charAt(xx-1);<br />                ascChr = xchar + 0;</p>
		<p>                if (ascChr &gt; 128) {<br />                    p_len = p_len + 2;<br />                }<br />                else {<br />                    p_len = p_len + 1;<br />                }<br />            }<br />        }<br />        return p_len;<br />    }</p>
		<p>    /**<br />    * 功能：控制输出字符串的长度，可区别中英文<br />    * 例如：strvalue("复请Email通知如果不填写则取注册Email",26)<br />    * 这里26是指26个英文字母，也就是13个汉字<br />    * @param xstring 需要检测的字符串<br />    * @return 被按照制定长度截取后的字符串（如果不够长则输出全部字符串）<br />    */<br />    public String CnLeft(String xstring, int lennum) {<br />       int p_num,i,xx,ascChr;<br />       String xtempstr;<br />       char xchar;</p>
		<p>       if (CnLength(xstring) &lt;= lennum ) {<br />           xtempstr = xstring;<br />       }<br />       else {<br />           p_num = 0;<br />           xx = 0;<br />           while (p_num &lt; lennum) {<br />               xx = xx + 1;<br />               xchar = xstring.charAt(xx-1);<br />               ascChr = xchar + 0;<br />               if (ascChr &gt; 128) {<br />                   p_num = p_num + 2;<br />                   if(p_num&gt;lennum) {<br />                       xx = xx - 1;<br />                   }<br />               }<br />               else {<br />                   p_num = p_num + 1;<br />               }<br />           }<br />           xtempstr = xstring.substring(0,xx);<br />       }</p>
		<p>       return xtempstr;<br />    }</p>
		<p>
				<br />    /**<br />    * 功能：将中文字符转变为Unicode为了wap页面使用<br />    * @param xinPara 需要转变的字符串<br />    * @return 转变编码后<br />    */<br />    public String toUnicode(String xinPara){<br />        char temChr;<br />        int ascChr, i;<br />        String rtStr = new String("");<br />        String inPara = GetNoNull(xinPara);</p>
		<p>        for(i=0; i&lt;inPara.length(); i++){<br />            temChr=inPara.charAt(i);<br />            ascChr=temChr+0;<br />            //System.out.println(ascChr);<br />            //System.out.println(Integer.toBinaryString(ascChr));<br />            if (ascChr &gt; 128) {<br />                rtStr = rtStr + "&amp;#x" + Integer.toHexString(ascChr) + ";";<br />            }<br />            else {<br />                rtStr = rtStr + temChr;<br />            }<br />        }<br />        return rtStr;<br />    }</p>
		<p>    /**<br />   * 分割字串<br />   * @param source 原始字符<br />   * @param div 分割符<br />   * @return 字符串数组<br />   */<br />   public static String[] split(String source,String div){<br />       int arynum = 0,intIdx=0,intIdex=0,div_length = div.length();<br />       if(source.compareTo("")!=0){<br />           if(source.indexOf(div)!=-1){<br />               intIdx = source.indexOf(div);<br />               for(int intCount =1 ; ; intCount++){<br />                   if(source.indexOf(div,intIdx+div_length)!=-1){<br />                       intIdx= source.indexOf(div,intIdx+div_length);<br />                       arynum = intCount;<br />                   }<br />                   else {arynum+=2;break;}<br />               }<br />           }<br />           else arynum =1;<br />       }<br />       else arynum = 0;</p>
		<p>       intIdx=0;<br />       intIdex=0;<br />       String[] returnStr = new String[arynum];</p>
		<p>       if(source.compareTo("")!=0){<br />           if(source.indexOf(div)!=-1){<br />               intIdx = (int)source.indexOf(div);<br />               returnStr[0]= (String)source.substring(0,intIdx);<br />               for(int intCount =1 ; ; intCount++){<br />                   if(source.indexOf(div,intIdx+div_length)!=-1){<br />                       intIdex=(int)source.indexOf(div,intIdx+div_length);<br />                       returnStr[intCount] = (String)source.substring(intIdx+div_length,intIdex);<br />                       intIdx = (int)source.indexOf(div,intIdx+div_length);<br />                   }<br />                   else {<br />                       returnStr[intCount] = (String)source.substring(intIdx+div_length,source.length());<br />                       break;<br />                   }<br />               }<br />           }<br />           else {returnStr[0] = (String)source.substring(0,source.length());return returnStr;}<br />       }<br />       else {return returnStr;}<br />       return returnStr;<br />   }</p>
		<p>     /**<br />     * 功能：将null的字符串变量变为""，以方便程序使用<br />     * @param xStr 字符串变量<br />     * @return 整理后的字符串<br />     */<br />     public String GetNoNull(String xStr) {<br />         String xstring;<br />         if (xStr == null){<br />             xstring = "";<br />         }<br />         else{<br />             xstring = xStr;<br />         }<br />         return xstring;<br />     }</p>
		<p>     /**<br />     * 功能：将字符串加密<br />     * @param xStr 字符串变量<br />     * @return 加密后的字符串<br />     */<br />     public String toPassword(String xStr) {<br />         String xstring;<br />         xstring = GetNoNull(xStr);<br />         return xstring;<br />     }</p>
		<p>     /**<br />     * 功能：将字符串解密<br />     * @param xStr 被加密的字符串变量<br />     * @return 解密后的字符串<br />     */<br />     public String unPassword(String xStr) {<br />         String xstring;<br />         xstring = GetNoNull(xStr);<br />         return xstring;<br />     }</p>
		<p>     /**<br />      * 功能：判断字符串是否为正整数<br />      * @param xStr 需要被判断的字符串变量<br />      * @return 如果是正整数返回True，否则返回False<br />      */<br />     public boolean isNumber(String xStr) {<br />         char[] c = xStr.toCharArray();<br />         boolean xjudge = true;<br />         if(xStr.length()&gt;0) {<br />             for (int i = 0; i &lt; c.length; i++) {<br />                 char ch = c[i];<br />                 if (!Character.isDigit(ch)) {<br />                     xjudge = false;<br />                     i = c.length;<br />                 }<br />             }<br />         }<br />         else {<br />             xjudge = false;<br />         }<br />         return xjudge;<br />     }</p>
		<p>     /**<br />      * 功能：将10进制数转变为36进制字符串<br />      * @param Number 需要转变的10进制数<br />      * @return 转变后的36进制字符串<br />      */<br />     public String get36Str(int Number) {<br />         String NewStr = "";<br />         if(Number==0) {<br />             NewStr = "0";<br />         }<br />         while (Number&gt;0) {<br />             int iNumber;<br />             char cNumber;<br />             iNumber = Number % 36;<br />             if (iNumber &gt; 9) {<br />                 cNumber = (char) (iNumber + 55);<br />             } else {<br />                 cNumber = (char) (iNumber + 48);<br />             }<br />             NewStr = cNumber + NewStr;<br />             Number = (Number - iNumber) / 36;<br />         }<br />         return NewStr;<br />     }</p>
		<p>     /**<br />      * 功能：获取当前时间标准格式的字符串<br />      * @return 时间字符串<br />      */<br />     public String getNow() {<br />         String xNow;<br />         Date date01 = new Date();<br />         java.sql.Timestamp date02  = new java.sql.Timestamp(date01.getTime());<br />         xNow = date02.toString();<br />         return xNow;<br />     }</p>
		<p>     /**<br />      * 功能：获取距离当前时间相差X秒时间标准格式的字符串<br />      * @param Second 相差秒数<br />      * @return 时间字符串<br />      */<br />     public String getNowS(int Second) {<br />         String xNow;<br />         //获取当前时间之前10秒的时间变量，用于调用需要重新处理的短信息<br />         Calendar tcal01 = Calendar.getInstance();<br />         tcal01.setTime(new Date());<br />         tcal01.add(Calendar.SECOND, Second);<br />         Date date01 = tcal01.getTime();<br />         java.sql.Timestamp date02  = new java.sql.Timestamp(date01.getTime());<br />         xNow = this.GetDate(date02.toString());<br />         return xNow;<br />     }<br />     /**<br />      * 功能：获取距离指定时间相差X秒时间标准格式的字符串<br />      * @param TargetDate 指定时间<br />      * @param Second 相差秒数<br />      * @return 时间字符串<br />      */<br />     public String getNowS(String TargetDate, int Second) {<br />         String xNow;<br />         //获取当前时间之前10秒的时间变量，用于调用需要重新处理的短信息<br />         Calendar tcal01 = Calendar.getInstance();<br />         tcal01.setTime(this.toDate(TargetDate));<br />         tcal01.add(Calendar.SECOND, Second);<br />         Date date01 = tcal01.getTime();<br />         java.sql.Timestamp date02  = new java.sql.Timestamp(date01.getTime());<br />         xNow = this.GetDate(date02.toString());<br />         return xNow;<br />     }<br />     <br />     public String getNowS(String xdate, String TimeType, int TimeNumber) {<br />      Calendar tcal01 = Calendar.getInstance();<br />      Date TargetDate = toDate(xdate);<br />      String xNow = null;<br />      if(TargetDate!=null) {<br />          tcal01.setTime(TargetDate);<br />          if(TimeType.equals("year")) {<br />           tcal01.add(Calendar.YEAR, TimeNumber);<br />          } else if(TimeType.equals("month")) {<br />           tcal01.add(Calendar.MONTH, TimeNumber);<br />          } else if(TimeType.equals("day")) {<br />           tcal01.add(Calendar.DAY_OF_MONTH, TimeNumber);<br />          } else if(TimeType.equals("hour")) {<br />           tcal01.add(Calendar.HOUR_OF_DAY, TimeNumber);<br />          } else if(TimeType.equals("minute")) {<br />           tcal01.add(Calendar.MINUTE, TimeNumber);<br />          } else if(TimeType.equals("second")) {<br />           tcal01.add(Calendar.SECOND, TimeNumber);<br />          }<br />          <br />          java.util.Date date01 = tcal01.getTime();<br />          SimpleDateFormat xDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); <br />          xNow = xDateFormat.format(date01);<br />         }<br />         return xNow;<br />     }</p>
		<p>     /**<br />      * 功能：获取从x到y的随机数（正整数）<br />      * @param xMin 最小值<br />      * @param xMax 最大值<br />      * @return 随机数值<br />      */<br />     public int getRnd01(int xMin, int xMax) {<br />         int xRnd;<br />         xRnd = 0;<br />         if(xMin&gt;xMax) {<br />             xMin = xMin + xMax;<br />             xMax = xMin - xMax;<br />             xMin = xMin - xMax;<br />         }<br />         xRnd = (xMin) + ((int)((xMax-xMin+1) * java.lang.Math.random()));</p>
		<p>         return xRnd;<br />     }</p>
		<p>     /**<br />      * 功能：校验是否格式正确的手机号或电话号码<br />      * @param xNumber 电话号码<br />      * @return 随机数值<br />      */<br />     public boolean isPhone(String xNumber) {<br />         boolean judgeSign = false;</p>
		<p>         Pattern p = Pattern.compile("^[1][3][0-9]{9}$"); //校验手机号码<br />         Matcher m = p.matcher(xNumber);<br />         if(m.matches()) {<br />             judgeSign = true;<br />         }<br />         else {<br />             p = Pattern.compile("^([0][1-9][0-9]{1,2})[0-9]{6,8}$"); //校验座机号码<br />             m = p.matcher(xNumber);<br />             if(m.matches()) {<br />                 judgeSign = true;<br />             }<br />         }<br />//         System.out.println(xxx + "," + m.matches());</p>
		<p>         return judgeSign;<br />     }</p>
		<p>     /**<br />     * 功能：除法运算(小数点后保留2位)<br />     * @param molecule 分子<br />     * @param denominator 分母<br />     */<br />     public String division(String molecule,String denominator){<br />         float num3 = 0.0f;<br />         float mole = Float.parseFloat(molecule); //(float)molecule1;<br />         float deno = Float.parseFloat(denominator); //(float)denominator1;<br />         //System.out.println("--mole--" + mole + "--" + deno);</p>
		<p>         if (Float.parseFloat(molecule) != 0) {<br />             num3 = mole / deno;<br />         }<br />         String radio = new java.text.DecimalFormat("###.##").format(num3);<br />         //System.out.println("小数点后面保留二位:"+radio);<br />         return radio;<br />     }</p>
		<p>     /**<br />     * 功能：Base64编码<br />     * @param xstring 要进行处理的字符串<br />     */<br />     public String base64_Encode(String xstring) {<br />         String xtempstr = "";<br />         if (xstring == null) {<br />             return null;<br />         }<br />         xtempstr =  (new sun.misc.BASE64Encoder()).encode( xstring.getBytes() );</p>
		<p>         return xtempstr;<br />     }</p>
		<p>     /**<br />     * 功能：Base64解码<br />     * @param xstring 要进行处理的字符串<br />     */<br />     public String base64_Decode(String xstring) {<br />         String xtempstr = "";</p>
		<p>         if (xstring == null) {<br />             return null;<br />         }<br />         try {<br />             sun.misc.BASE64Decoder decoder = new BASE64Decoder();<br />             byte[] b = decoder.decodeBuffer(xstring);<br />             xtempstr =  new String(b);<br />         } catch (Exception e) {<br />             return null;<br />         }<br />         return xtempstr;<br />     }<br />     /**大写字符串加1 如AB-&gt;AC AZ-&gt;BA；如遇到小写字符或ZZ则报溢出错误<br />      * @param xstring 大写字符串<br />      * @return 字符串加1后返回结果<br />      */<br />     public String StringPlus1(String xstring){<br />      String xtempstr="";<br />       if (xstring == null) {<br />              return null;<br />          }<br />      <br />          try {<br />           char xchar[]=xstring.toCharArray();<br />           //System.out.print((int)++xchar[1]);<br />           for(int i=xstring.length()-1;i&gt;=0;i--){<br />            if((int)++xchar[i]&gt;90){<br />             xchar[i]='A';<br />             if(i==0){<br />              System.out.print("溢出！");<br />              return null;<br />             }<br />            }<br />            else<br />            {<br />             System.out.print("");<br />             break;<br />            }<br />           }<br />           for(int j=0;j&lt;xstring.length();j++)<br />            xtempstr=xtempstr+xchar[j];<br />          }catch(Exception e){<br />           System.err.print(e.getMessage());<br />           return null;<br />          }<br />          return xtempstr;<br />     }<br />}<br /></p>
<img src ="http://www.blogjava.net/redcreen/aggbug/69349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redcreen/" target="_blank">charles</a> 2006-09-13 13:01 <a href="http://www.blogjava.net/redcreen/articles/69349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]在Java中使用Oracle blob</title><link>http://www.blogjava.net/redcreen/articles/68475.html</link><dc:creator>charles</dc:creator><author>charles</author><pubDate>Fri, 08 Sep 2006 03:46:00 GMT</pubDate><guid>http://www.blogjava.net/redcreen/articles/68475.html</guid><wfw:comment>http://www.blogjava.net/redcreen/comments/68475.html</wfw:comment><comments>http://www.blogjava.net/redcreen/articles/68475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redcreen/comments/commentRss/68475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redcreen/services/trackbacks/68475.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">Oracle中的lob (Large Object)可以存储非常大的数据（可能是4GB），这样就可以通过将文件或其它任何对象序列化成字节输出流(OutputStream)后写入数据库，之后使用字节输入流(InputStream)将数据读出然后反序列化为原始文件或对象。操作时需要使用oracle的JDBC包，它扩展了sun的JDBC包中的Blob对象。同时需要注意一些细节。下面的代码演示如何使用blob（实例中需要Oracle的JDBC包）。<br /><br /></font>
				<font size="2">
						<font color="#ffa500">
								<font color="#800080">import oracle.jdbc.OracleResultSet;  <font color="#006400">// 使用Oracle的ResultSet对象<br /></font>import oracle.sql.BLOB;  </font>
								<font color="#006400">// 使用Oracle的BLOB对象，而不是sun的Blob</font>
								<br />
						</font>
						<br />...<br /><br />try{<br />  Connection conn=&lt;数据库连接&gt;;<br />  File file=&lt;存入数据库的文件对象&gt;;<br />  </font>
				<font size="2">
						<font color="#800080">conn.setAutoCommit(false);  <font color="#006400">// 取消Connection对象的auto commit属性</font><br /></font>  String file_name=file.getName();</font>
		</p>
		<p>
				<font size="2"> <font color="#800080"> </font></font>
				<font size="2">
						<font color="#006400">// 数据库中有一个item表，其中的file_name (varchar2)存储文件名，file_blob (blob)存储文件对象<br /></font>  String sql="INSERT INTO item (file_name,file_blob) VALUES ('" + file_name + "',<font color="#800080">EMPTY_BLOB()</font><font color="#000000">)</font>";  </font>
				<font size="2">
						<font color="#006400">// 使用“EMPTY_BLOB()“成生一个空blob<br /></font>  Statement stmt=conn.createStatement();<br />  int count=stmt.executeUpdate(sql);<br />  <br /></font>
				<font size="2">  sql="SELECT file_blob FROM item WHERE iid='" + iid + "' <font color="#800080">FOR UPDATE</font>";  <font color="#006400">// 使用“FOR UPDATE”得到表的写锁</font><br />  ResultSet rs=stmt.executeQuery(sql);<br />  rs.next();<br />  BLOB blob=((OracleResultSet)rs).getBLOB("file_blob");  <font color="#006400">// 得到BLOB对象</font><br />  OutputStream out=blob.getBinaryOutputStream();  <font color="#006400">// 建立输出流<br /></font>  InputStream in=new FileInputStream(file);  <font color="#006400">// 建立输入流<br /></font>  int size=blob.getBufferSize();<br />  byte[] buffer=new byte[size];  <font color="#006400">// 建立缓冲区</font><br />  int len;<br />  while((len=in.read(buffer)) != -1)<br />    out.write(buffer,0,len);<br />  in.close();<br />  out.close();</font>
		</p>
		<p>
				<font size="2">  <font color="#800080">conn.commit();</font><br />}<br />catch(Exception ex){<br />  try{<br />    conn.rollback();<br />  }<br />  catch(SQLException sqle){<br />    System.err.println(sqle.getMessage());<br />  }<br />}<br /><br />如果要读出文件的话只需调用BLOB的getBinaryStream()生成一个输入流，再写入一个文件就行了。<br /><br /></font>
		</p>
		<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=779983</p>
<img src ="http://www.blogjava.net/redcreen/aggbug/68475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redcreen/" target="_blank">charles</a> 2006-09-08 11:46 <a href="http://www.blogjava.net/redcreen/articles/68475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>