`
- 浏览:
21365869 次
- 性别:
- 来自:
杭州
-
- 来自:http://xuliduo.javaeye.com/blog/196937
- packagecom.wootion.idp.util;
-
importjava.io.IOException;
-
importjava.io.OutputStream;
-
importjava.security.Security;
-
importjava.text.SimpleDateFormat;
-
importjava.text.StringCharacterIterator;
-
importjava.util.Calendar;
-
importjava.util.Date;
-
importjava.util.HashMap;
-
importjava.util.StringTokenizer;
-
importjavax.crypto.Cipher;
-
importjavax.crypto.KeyGenerator;
-
importjavax.crypto.SecretKey;
-
-
publicclassStringUtil
- {
-
-
publicstaticStringDES="DES";
-
publicstaticStringDESEDE="DESede";
-
publicstaticStringBLOWFISH="Blowfish";
-
-
-
publicstaticcharDATE_SIZE_DAY='d';
-
-
publicstaticcharDATE_SIZE_WEEK='w';
-
-
publicstaticcharDATE_SIZE_MONTH='m';
-
-
publicstaticcharDATE_SIZE_YEAR='y';
-
-
publicstaticcharDATE_SIZE_TOMORROW='a';
-
-
privateStringUtil()
- {
- }
-
publicstaticStringrandomName()throwsException
- {
-
StringstrName=null;
-
-
RandomStrgrst=newRandomStrg();
-
rst.setCharset("a-zA-Z0-9");
-
rst.setLength("17");
- rst.generateRandomObject();
- strName=rst.getRandom()+System.currentTimeMillis();
-
returnstrName;
- }
-
-
publicstaticStringnow(Stringstr,java.sql.Datedates)
- {
-
if("".equals(str))
-
str="yyyy-MM-dd";
- java.util.Datedate=dates;
-
returnnow(str,date);
- }
-
publicstaticStringrandomNum()
- {
-
StringstrName=null;
-
-
RandomStrgrst=newRandomStrg();
-
rst.setCharset("0-9");
-
rst.setLength("6");
-
try
- {
- rst.generateRandomObject();
- }
-
catch(Exceptione)
- {
- e.printStackTrace();
- }
-
strName=StringUtil.now("yyyyMMdd",null)+rst.getRandom();
-
returnstrName;
- }
-
-
publicstaticStringnow(Stringstr,java.util.Datedates)
- {
-
if("".equals(str))
-
str="yyyy-MM-dd";
-
java.text.SimpleDateFormatdate=newjava.text.SimpleDateFormat(str);
-
StringcurrentDate=date.format(dates!=null?dates:thisTime());
-
returncurrentDate;
- }
-
-
publicstaticjava.util.DatethisTime()
- {
-
returnnewDate(System.currentTimeMillis());
- }
-
-
publicstaticString[]split(Stringsource,Stringdelim)
- {
- String[]wordLists;
-
if(source==null)
- {
-
wordLists=newString[1];
-
wordLists[0]=source;
-
returnwordLists;
- }
-
if(delim==null)
- {
-
delim=",";
- }
-
StringTokenizerst=newStringTokenizer(source,delim);
-
inttotal=st.countTokens();
-
wordLists=newString[total];
-
for(inti=0;i<total;i++)
- {
- wordLists[i]=st.nextToken();
- }
-
returnwordLists;
- }
-
-
publicstaticString[]split(Stringsource,chardelim)
- {
-
returnsplit(source,String.valueOf(delim));
- }
-
-
publicstaticString[]split(Stringsource)
- {
-
returnsplit(source,",");
- }
-
-
publicstaticvoidprintStrings(String[]strings,Stringdelim,
- OutputStreamout)
- {
-
try
- {
-
if(strings!=null)
- {
-
intlength=strings.length-1;
-
for(inti=0;i<length;i++)
- {
-
if(strings[i]!=null)
- {
-
if(strings[i].indexOf(delim)>-1)
- {
-
out.write(("/""+strings[i]+"/""+delim)
- .getBytes());
- }
-
else
- {
- out.write((strings[i]+delim).getBytes());
- }
- }
-
else
- {
-
out.write("null".getBytes());
- }
- }
-
if(strings[length]!=null)
- {
-
if(strings[length].indexOf(delim)>-1)
- {
-
out.write(("/""+strings[length]+"/"").getBytes());
- }
-
else
- {
- out.write(strings[length].getBytes());
- }
- }
-
else
- {
-
out.write("null".getBytes());
- }
- }
-
else
- {
-
out.write("null".getBytes());
- }
- out.write(java.lang.Character.LINE_SEPARATOR);
- }
-
catch(IOExceptione)
- {
- }
- }
-
-
publicstaticvoidprintStrings(String[]strings,Stringdelim)
- {
- printStrings(strings,delim,System.out);
- }
-
-
publicstaticvoidprintStrings(String[]strings,OutputStreamout)
- {
-
printStrings(strings,",",out);
- }
-
-
publicstaticvoidprintStrings(String[]strings)
- {
-
printStrings(strings,",",System.out);
- }
-
-
publicstaticStringgetReplaceString(Stringprefix,Stringsource,
- String[]values)
- {
- Stringresult=source;
-
if(source==null||values==null||values.length<1)
- {
-
returnsource;
- }
-
if(prefix==null)
- {
-
prefix="%";
- }
-
for(inti=0;i<values.length;i++)
- {
-
Stringargument=prefix+Integer.toString(i+1);
-
intindex=result.indexOf(argument);
-
if(index!=-1)
- {
-
Stringtemp=result.substring(0,index);
-
if(i<values.length)
- {
- temp+=values[i];
- }
-
else
- {
-
temp+=values[values.length-1];
- }
-
temp+=result.substring(index+2);
- result=temp;
- }
- }
-
returnresult;
- }
-
-
publicstaticStringgetReplaceString(Stringsource,String[]values)
- {
-
returngetReplaceString("%",source,values);
- }
-
-
publicstaticbooleancontains(String[]strings,Stringstring,
-
booleancaseSensitive)
- {
-
for(inti=0;i<strings.length;i++)
- {
-
if(caseSensitive==true)
- {
-
if(strings[i].equals(string))
- {
-
returntrue;
- }
- }
-
else
- {
-
if(strings[i].equalsIgnoreCase(string))
- {
-
returntrue;
- }
- }
- }
-
returnfalse;
- }
-
-
publicstaticbooleancontains(String[]strings,Stringstring)
- {
-
returncontains(strings,string,true);
- }
-
-
publicstaticbooleancontainsIgnoreCase(String[]strings,Stringstring)
- {
-
returncontains(strings,string,false);
- }
-
-
publicstaticStringcombineStringArray(String[]array,Stringdelim)
- {
-
intlength=array.length-1;
-
if(delim==null)
- {
-
delim="";
- }
-
StringBufferresult=newStringBuffer(length*8);
-
for(inti=0;i<length;i++)
- {
- result.append(array[i]);
- result.append(delim);
- }
- result.append(array[length]);
-
returnresult.toString();
- }
-
-
publicstaticStringfillString(charc,intlength)
- {
-
Stringret="";
-
for(inti=0;i<length;i++)
- {
- ret+=c;
- }
-
returnret;
- }
-
-
publicstaticStringtrimLeft(Stringvalue)
- {
- Stringresult=value;
-
if(result==null)
-
returnresult;
-
charch[]=result.toCharArray();
-
intindex=-1;
-
for(inti=0;i<ch.length;i++)
- {
-
if(Character.isWhitespace(ch[i]))
- {
- index=i;
- }
-
else
- {
-
break;
- }
- }
-
if(index!=-1)
- {
-
result=result.substring(index+1);
- }
-
returnresult;
- }
-
-
publicstaticStringtrimRight(Stringvalue)
- {
- Stringresult=value;
-
if(result==null)
-
returnresult;
-
charch[]=result.toCharArray();
-
intendIndex=-1;
-
for(inti=ch.length-1;i>-1;i--)
- {
-
if(Character.isWhitespace(ch[i]))
- {
- endIndex=i;
- }
-
else
- {
-
break;
- }
- }
-
if(endIndex!=-1)
- {
-
result=result.substring(0,endIndex);
- }
-
returnresult;
- }
-
-
publicstaticStringescapeCharacter(Stringsource,HashMapescapeCharMap)
- {
-
if(source==null||source.length()==0)
-
returnsource;
-
if(escapeCharMap.size()==0)
-
returnsource;
-
StringBuffersb=newStringBuffer();
-
StringCharacterIteratorsci=newStringCharacterIterator(source);
-
for(charc=sci.first();c!=StringCharacterIterator.DONE;c=sci
- .next())
- {
- Stringcharacter=String.valueOf(c);
-
if(escapeCharMap.containsKey(character))
- character=(String)escapeCharMap.get(character);
- sb.append(character);
- }
-
returnsb.toString();
- }
-
-
publicstaticintgetByteLength(Stringsource)
- {
-
intlen=0;
-
for(inti=0;i<source.length();i++)
- {
-
charc=source.charAt(i);
-
inthighByte=c>>>8;
-
len+=highByte==0?1:2;
- }
-
returnlen;
- }
-
-
publicstaticintgetSubtringCount(Stringsource,Stringsub)
- {
-
if(source==null||source.length()==0)
- {
-
return0;
- }
-
intcount=0;
-
intindex=source.indexOf(sub);
-
while(index>=0)
- {
- count++;
-
index=source.indexOf(sub,index+1);
- }
-
returncount;
- }
-
-
publicstaticStringcheckNull(Stringsource)
- {
-
return(source=(source==null?"":source));
- }
-
-
publicstaticStringescape(Stringsrc)
- {
-
inti;
-
charj;
-
StringBuffertmp=newStringBuffer();
-
tmp.ensureCapacity(src.length()*6);
-
for(i=0;i<src.length();i++)
- {
- j=src.charAt(i);
-
if(Character.isDigit(j)||Character.isLowerCase(j)
- ||Character.isUpperCase(j))
- {
- tmp.append(j);
- }
-
elseif(j<256)
- {
-
tmp.append("%");
-
if(j<16)
- {
-
tmp.append("0");
- }
-
tmp.append(Integer.toString(j,16));
- }
-
else
- {
-
tmp.append("%u");
-
tmp.append(Integer.toString(j,16));
- }
- }
-
returntmp.toString();
- }
-
-
publicstaticStringunescape(Stringsrc)
- {
-
StringBuffertmp=newStringBuffer();
- tmp.ensureCapacity(src.length());
-
intlastPos=0,pos=0;
-
charch;
-
while(lastPos<src.length())
- {
-
pos=src.indexOf("%",lastPos);
-
if(pos==lastPos)
- {
-
if(src.charAt(pos+1)=='u')
- {
-
ch=(char)Integer.parseInt(src
-
.substring(pos+2,pos+6),16);
- tmp.append(ch);
-
lastPos=pos+6;
- }
-
else
- {
-
ch=(char)Integer.parseInt(src
-
.substring(pos+1,pos+3),16);
- tmp.append(ch);
-
lastPos=pos+3;
- }
- }
-
else
- {
-
if(pos==-1)
- {
- tmp.append(src.substring(lastPos));
- lastPos=src.length();
- }
-
else
- {
- tmp.append(src.substring(lastPos,pos));
- lastPos=pos;
- }
- }
- }
-
returntmp.toString();
- }
-
-
publicstaticStringgetHtmlEscape(Stringstr)
- {
-
return"<script>document.write(unescape('"+escape(str)
-
+"'));</script>";
- }
-
-
publicstaticStringgetBettown(Strings,Stringstr1,Stringstr2)
- {
-
returns.substring(s.indexOf(str1)+1,s.indexOf(str2));
- }
-
-
publicstaticDatestrToDate(Stringstr)
- {
-
Datedate=null;
-
try
- {
-
SimpleDateFormatformatters=newSimpleDateFormat("yyyy-MM-dd");
- date=formatters.parse(str);
- }
-
catch(Exceptione)
- {
- e.printStackTrace();
- }
-
returndate;
- }
-
-
publicstaticDatestrToDate(Stringstr,Stringdateformat)
- {
-
Datedate=null;
-
try
- {
-
SimpleDateFormatformatters=newSimpleDateFormat(dateformat);
- date=formatters.parse(str);
- }
-
catch(Exceptione)
- {
- e.printStackTrace();
- }
-
returndate;
- }
-
-
publicstaticStringdateToStr(Datetime,Stringdateformat)
- {
-
StringstrDate="";
-
try
- {
-
SimpleDateFormatformatters=newSimpleDateFormat(dateformat);
- strDate=formatters.format(time);
- }
-
catch(Exceptione)
- {
- e.printStackTrace();
- }
-
returnstrDate;
- }
-
-
publicstaticDatedateSize(chart)
- {
- Datedate=thisTime();
- Calendarcalendar=Calendar.getInstance();
- calendar.setTime(date);
-
switch(t)
- {
-
case'd':
-
-
break;
-
case'w':
-
calendar.roll(calendar.WEEK_OF_YEAR,false);
-
break;
-
case'm':
-
calendar.roll(calendar.MONTH,false);
-
break;
-
case'y':
-
calendar.roll(calendar.YEAR,false);
-
break;
-
case'a':
-
calendar.roll(calendar.DATE,true);
-
break;
-
default:
-
System.out.println("dateSize函数参数错误");
- }
- date=calendar.getTime();
-
returndate;
- }
-
-
publicstaticStringgetStringFromArray(Stringstr[])
-
throwsNullPointerException
- {
-
if(str==null)
-
thrownewNullPointerException("请输入需要转换的数组");
-
Stringstrs="";
-
for(Strings:str)
- {
-
strs+=s+",";
- }
-
if(strs.length()>0)
-
strs=strs.substring(0,strs.length()-1);
-
returnstrs;
- }
-
-
publicstaticStringinterceptString(Stringsource)
- {
-
returninterceptString(source,"...",10);
- }
-
-
publicstaticStringinterceptString(Stringsource,Stringstr,intnumber)
- {
- source=checkNull(source);
-
str=str==null?"...":str;
-
intlen=strlen(source);
-
if(len<=number*2)
-
returnsource;
-
intk=0;
-
for(inti=source.length()-1;i>=0;i--)
- {
-
charc=source.charAt(i);
-
if((c>='0'&&c<='9')||(c>='a'&&c<='z')
-
||(c>='A'&&c<='Z'))
- {
-
k=+2;
- }
-
else
- {
-
if(Character.isLetter(c))
-
{
-
continue;
- }
-
else
-
{
-
-
continue;
- }
- }
-
if(k==3)
- {
- number++;
-
k=0;
- }
- }
-
if(k==1)
- number++;
-
returnsource.substring(0,number-1)+str;
- }
-
-
publicstaticintstrlen(Stringstr)
- {
-
if(str==null||str.length()<=0)
- {
-
return0;
- }
-
intlen=0;
-
charc;
-
for(inti=str.length()-1;i>=0;i--)
- {
- c=str.charAt(i);
-
if((c>='0'&&c<='9')||(c>='a'&&c<='z')
-
||(c>='A'&&c<='Z'))
- {
-
- len++;
- }
-
else
- {
-
if(Character.isLetter(c))
-
{
-
len+=2;
- }
-
else
-
{
- len++;
- }
- }
- }
-
returnlen;
- }
-
-
static
- {
-
Security.addProvider(newcom.sun.crypto.provider.SunJCE());
- }
-
-
publicstaticStringbyte2hex(byte[]b)
- {
-
Stringhs="";
-
Stringstmp="";
-
for(intn=0;n<b.length;n++)
- {
-
stmp=(java.lang.Integer.toHexString(b[n]&0XFF));
-
if(stmp.length()==1)
-
hs=hs+"0"+stmp;
-
else
- hs=hs+stmp;
-
if(n<b.length-1)
-
hs=hs+":";
- }
-
returnhs.toUpperCase();
- }
-
-
publicstaticbyte[]hex2byte(Stringstr)
- {
-
Stringstmp[]=str.split(":");
-
byte[]btmp=newbyte[stmp.length];
-
for(intn=0;n<stmp.length;n++)
- {
-
inti=Integer.valueOf(stmp[n],16);
-
btmp[n]=(byte)(i&0XFF);
- }
-
returnbtmp;
- }
-
-
publicstaticbyte[]getKey(Stringalgorithm)throwsException
- {
- KeyGeneratorkeygen=KeyGenerator.getInstance(algorithm);
- SecretKeydeskey=keygen.generateKey();
-
returndeskey.getEncoded();
- }
-
-
publicstaticbyte[]encode(byte[]input,byte[]key,Stringalgorithm)
-
throwsException
- {
-
SecretKeydeskey=newjavax.crypto.spec.SecretKeySpec(key,algorithm);
- Cipherc1=Cipher.getInstance(algorithm);
- c1.init(Cipher.ENCRYPT_MODE,deskey);
-
byte[]cipherByte=c1.doFinal(input);
-
returncipherByte;
- }
-
-
publicstaticStringencode(Stringinput,Stringkey,Stringalgorithm)
-
throwsException
- {
-
returnbyte2hex(encode(input.getBytes(),key.getBytes(),algorithm));
- }
-
-
publicstaticbyte[]decode(byte[]input,byte[]key,Stringalgorithm)
-
throwsException
- {
-
SecretKeydeskey=newjavax.crypto.spec.SecretKeySpec(key,algorithm);
- Cipherc1=Cipher.getInstance(algorithm);
- c1.init(Cipher.DECRYPT_MODE,deskey);
-
byte[]clearByte=c1.doFinal(input);
-
returnclearByte;
- }
-
-
publicstaticStringdecode(Stringinput,Stringkey,Stringalgorithm)
-
throwsException
- {
-
returnnewString(decode(hex2byte(input),key.getBytes(),algorithm));
- }
-
-
publicstaticbyte[]md5(byte[]input)throwsException
- {
- java.security.MessageDigestalg=java.security.MessageDigest
-
.getInstance("MD5");
- alg.update(input);
-
byte[]digest=alg.digest();
-
returndigest;
- }
-
-
publicstaticStringchangeToBig(doublevalue)
- {
-
char[]hunit={'拾','佰','仟'};
-
char[]vunit={'万','亿'};
-
char[]digit={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
-
longmidVal=(long)(value*100);
-
StringvalStr=String.valueOf(midVal);
-
Stringhead=valStr.substring(0,valStr.length()-2);
-
Stringrail=valStr.substring(valStr.length()-2);
-
Stringprefix="";
-
Stringsuffix="";
-
-
if(rail.equals("00"))
-
{
-
suffix="整";
- }
-
else
- {
-
suffix=digit[rail.charAt(0)-'0']+"角"
-
+digit[rail.charAt(1)-'0']+"分";
- }
-
-
char[]chDig=head.toCharArray();
-
charzero='0';
-
bytezeroSerNum=0;
-
for(inti=0;i<chDig.length;i++)
-
{
-
intidx=(chDig.length-i-1)%4;
-
intvidx=(chDig.length-i-1)/4;
-
if(chDig[i]=='0')
-
{
-
zeroSerNum++;
-
if(zero=='0')
-
{
-
zero=digit[0];
- }
-
elseif(idx==0&&vidx>0&&zeroSerNum<4)
- {
-
prefix+=vunit[vidx-1];
-
zero='0';
- }
-
continue;
- }
-
zeroSerNum=0;
-
if(zero!='0')
-
{
- prefix+=zero;
-
zero='0';
- }
-
prefix+=digit[chDig[i]-'0'];
-
if(idx>0)
-
prefix+=hunit[idx-1];
-
if(idx==0&&vidx>0)
- {
-
prefix+=vunit[vidx-1];
- }
- }
-
if(prefix.length()>0)
-
prefix+='圆';
-
-
returnprefix+suffix;
- }
-
-
publicstaticStringtoUtf8String(Strings)
- {
-
StringBuffersb=newStringBuffer();
-
for(inti=0;i<s.length();i++)
- {
-
charc=s.charAt(i);
-
if(c>=0&&c<=255)
- {
- sb.append(c);
- }
-
else
- {
-
byte[]b;
-
try
- {
-
b=Character.toString(c).getBytes("utf-8");
- }
-
catch(Exceptionex)
- {
- System.out.println(ex);
-
b=newbyte[0];
- }
-
for(intj=0;j<b.length;j++)
- {
-
intk=b[j];
-
if(k<0)
-
k+=256;
-
sb.append("%"+Integer.toHexString(k).toUpperCase());
- }
- }
- }
-
returnsb.toString();
- }
-
-
publicstaticStringgetSpaces(intnum)
- {
-
StringBuffersbr=newStringBuffer();
-
for(inti=0;i<num;i++)
- {
-
sbr.append("");
- }
-
returnsbr.toString();
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
自己封装的一些简单函数呵呵呵,主要是关于字符串的,自己用的!
必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),...
必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),完成...
完成了字符串的封装,基本实现了字符串库函数处理的功能。
《字符串处理函数封装》c++课程设计,含有源代码,及界面
字符串类的封装,以前做的课程设计作业
封装cJSON类,C++封装对JSON格式字符串的操作,解析,组合字符串
JAVA字符串操作类CTool.java字符转换类,此类中收集Java编程中WEB开发常用到的一些工具。为避免生成此类的实例,构造方法被申明为private类型的。封装的功能:字符串从GBK编码转换为Unicode编码、对字符串进行md5...
VB封装提取字符串中数字的DLL文件,该实例简单命了,代码书写规范,是个很不错的学习参考。
常用C#字符串函数大全-转化类函数,字符累函数,日期转换圂各种函数。
主要是获取关于字符串内部带有刮号()的字符内容,所以就简单的封装了下相关方法,该方法适合匹配以下几个符号:() 、[] 、<> 、《》、 “”、 ‘’、〔〕、{}、「」、〖〗等相关带有闭合的符号。 该函数strIn()...
求字符的串中一个字符或改变字符串中的一个字符(采用重载[]), 完成串的赋值与合并(重载+),得到表示字符串的指针地址 在字符串类的基础上封装彩色字符串类。(学会使用继承和多态)可选*/
C#中常用的字符串加密,解密方法封装,包含只加密,不解密的方法。 包含多种常见加密解密方式
对属性字符串做了下简单的封装,可以设置文字间距,行间距等
C++字符串完全指南—第二部分字符串的封装类.docx
对网上问的一些问题的总结,封装成了一个工具类。完成的功能有: 1、判断字符串中是否有中文; 2、得到字符串中有几个中文; 3、判断字符串中有没有连续的几个中文;
《字符串的处理与函数的封装》课程设计,可执行性强,代码简单易懂,有注释
动态字符串数组封装的类.
常用相关工具封装,字符串扩展类,方便用户集成和应用,备注清晰