📄 commonutil.java
字号:
/*
*********************************************************************
* 文件 : $Workfile: CommonUtil.java $
* 项目 : 腾龙1.2
* 公司 : 沈阳东软软件股份有限公司
* 日期 : $Date: 03-12-10 16:25 $
* 说明 :
**********************************************************************
* 版本历史:
* $Log: /4 开发工作目录/CommonUtil.java $
*
* 1 03-12-10 16:25 Lihg
*
* 1 03-12-10 8:44 Lihg
*********************************************************************
*/
package com.neusoft.util;
//import com.neusoft.uniflow.org.*;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.neusoft.util.StringUtils;
/**
* <p>
*
* Description:提供一些基本的操作</p> <p>
*
* Copyright: Copyright (c) 2003</p> <p>
*
* Company: neusoft </p>
*
*@author MingJi Mail : jim@neusoft.com
*@created 2003年5月19日
*@version 1.0
*/
public class CommonUtil
{
/**
* Field描述
*/
public final static String PERSON = "person:";
/**
* Field描述
*/
public final static String ROLE = "role:";
/**
* Field描述
*/
public final static String UNIT = "unit:";
/**
* Field描述
*/
public final static String POST = "post:";
private static Long serialNub;
/**
* 构造对象 CommonUtil
*/
public CommonUtil() { }
///////////////////////////下面函数是关于String的操作的各种操作
/**
* 转换字符串的格式 <p>
*
* 例如toZn("a;dljfakdf","ISO-8859-1","GBK")</p>
*
*@param source 要转换的字符串
*@return 描述返回值信息
*/
public static String toZn( String source )
{
try
{
if ( source != null )
{
return new String( source.getBytes( "ISO-8859-1" ), "GB2312" );
} else
{
return "";
}
} catch ( java.io.UnsupportedEncodingException ex )
{
return source;
}
}
/**
* 用指定的符号来分割字符串,返回Vector类型 <p>
*
* 例如Vector vec = CommonUtil.StringToVector("aa,kk,ll,ii,uu",",")</p>
*
*@param strsouce
*@param strsign
*@return 一个Vector
*/
public static Vector StringToVector( String strsouce, String strsign )
{
StringTokenizer strt = new StringTokenizer( strsouce, strsign );
Vector ct = new Vector();
while ( strt.hasMoreElements() )
{
ct.add( strt.nextElement() );
}
return ct;
}
/**
* 用指定的符号来分割字符串 <p>
*
* 例如String [] arrayStr = CommonUtil.StringToVector("aa,kk,ll,ii,uu",",")
* </p>
*
*@param strsouce
*@param strsign
*@return array{aa,kk,ll,ii,uu}
*/
public static String[] StringToArray( String strsouce, String strsign )
{
StringTokenizer strt = new StringTokenizer( strsouce, strsign );
int arrayLong = 0;
int i = 0;
while ( strt.hasMoreElements() )
{
arrayLong++;
//strt.nextToken();
strt.nextToken();
}
String[] arrays = new String[arrayLong];
StringTokenizer strt2 = new StringTokenizer( strsouce, strsign );
while ( strt2.hasMoreElements() )
{
arrays[i] = strt2.nextToken();
i++;
}
return arrays;
}
/**
* 用指定的符号来分割字符串 <p>
*
* 例如String [] arrayStr = CommonUtil.StringToVector("aa,kk,ll,ii,uu",",")
* </p>
*
*@param strsouce
*@param strsign
*@return array{aa,kk,ll,ii,uu}
*/
public static Object[] stringToArray( String strsouce, String strsign )
{
MyStringToken strt = new MyStringToken( strsouce, strsign );
ArrayList result = new ArrayList();
int arrayLong = 0;
int i = 0;
while ( strt.hasMoreElements() )
{
result.add( strt.nextToken() );
}
return result.toArray();
}
/**
* 将数组转换成字符串 <p>
*
* 例如String [] arrayStr = CommonUtil.StringToVector("aa,kk,ll,ii,uu",",")
* </p>
*
*@param strsouce 原字符串数组
*@param token 分割符
*@return aa,kk,ll,ii,uu
*/
public static String arrayToString( Object[] strsource, String token,boolean ascFlag)
{ int count=0;
StringBuffer resultSb=new StringBuffer();
if(strsource!=null&&strsource.length>0){
count = strsource.length;
if(ascFlag){
for (int i = 0; i < count; i++) {
resultSb.append(token + strsource[i]);
}
}else{
for (int i = count-1; i >= 0; i--) {
resultSb.append(token + strsource[i]);
}
}
resultSb.delete(0, token.length());
}
return resultSb.toString();
}
public static String arrayToString(Object[] strsource,String token){
return arrayToString(strsource,token,true);
}
/**
* 用指定的符号来分割字符串 <p>
*
* 例如String [] arrayStr = CommonUtil.StringToVector("aa,kk,ll,ii,uu",",")
* </p>
*
*@param strsouce
*@param strsign
*@return array{aa,kk,ll,ii,uu}
*/
public static Set stringToSet( String strsouce, String strsign )
{
MyStringToken strt = new MyStringToken( strsouce, strsign );
HashSet result = new HashSet();
int arrayLong = 0;
int i = 0;
while ( strt.hasMoreElements() )
{
result.add( strt.nextToken() );
}
return result;
}
/**
* 字符串替换
*
*@param strSource 没有改变的源字符串
*@param strFrom 要替换的字符串
*@param strTo 替换为的字符串
*@return 替换后的字符串
*/
public static String replace( String strSource, String strFrom, String strTo )
{
String strDest = "";
int intFromLen = strFrom.length();
int intPos;
while ( ( intPos = strSource.indexOf( strFrom ) ) != -1 )
{
strDest = strDest + strSource.substring( 0, intPos );
strDest = strDest + strTo;
strSource = strSource.substring( intPos + intFromLen );
}
strDest = strDest + strSource;
return strDest;
}
/**
* 分析输入字符串中的字符把双引号,和反斜线转换成编码形式。 <p>
*
* 在jsp页面中在<<查询>>时在hidden变量中保存数值时,为了避免与html中的双引号发生冲突,而被截断</p> <p>
*
* 可以使用此函数。</p> <p>
*
* 例如:<input type=text name="searchtext" value="<%=Adaption.<b>
* parseQBacklash</b> (strName)%>"><p>
*
*
*
*@param strPara 要转换的字符串
*@return 被转换后的字符串
*/
public final static String parseQBacklash( String strPara )
{
//当输入字符为空,或空对象时,返回空串
if ( strPara == null || strPara.length() == 0 )
{
return "";
}
//当输入的字符中没有要转换的字符时,直接返回
if ( strPara.indexOf( "\"" ) == -1 && strPara.indexOf( "\\" ) == -1 )
{
return strPara;
}
//有要进行转换的字符
StringBuffer sBuf = new StringBuffer( strPara.length() );
//创建字符缓冲区
char c;
for ( int i = 0; i < strPara.length(); i++ )
{
c = strPara.charAt( i );
if ( c == '"' )
{
sBuf.append( """ );
} else if ( c == '\\' )
{
sBuf.append( "\" );
} else
{
sBuf.append( c );
}
}
return sBuf.toString();
}
/**
* 分析在javascript中输入字符串中的字符把单引号,和反斜线转换成编码形式。(perfer) <p>
*
* 在jsp页面中在查询时在使用javascript为hidden变量保存数值时,为了避免与html中的双引号发生冲突,而被截断</p> <p>
*
* 可以使用此函数。</p> <p>
*
* 例如:document.thisform.FORCAT_NAME.value='<%=Adaption.parseJSQBacklash(strFORCAT_NAME)%
* >';<p>
*
*
*
*@param strPara 要转换的字符串
*@return 被转换后的字符串
*/
public final static String parseJSQBacklash( String strPara )
{
//当输入字符为空,或空对象时,返回空串
if ( strPara == null || strPara.length() == 0 )
{
return "";
}
//当输入的字符中没有要转换的字符时,直接返回
if ( strPara.indexOf( "\'" ) == -1 && strPara.indexOf( "\\" ) == -1 )
{
return strPara;
}
//有要进行转换的字符
StringBuffer sBuf = new StringBuffer( strPara.length() );
//创建字符缓冲区
char c;
for ( int i = 0; i < strPara.length(); i++ )
{
c = strPara.charAt( i );
if ( c == '\'' )
{
sBuf.append( "\\'" );
} else if ( c == '\\' )
{
sBuf.append( "\\\\" );
} else
{
sBuf.append( c );
}
}
return sBuf.toString();
}
/**
* 分析输入字符串中的字符把其中的‘<’和‘>’转换成编码形式。 <p>
*
* 在jsp页面中在录入数据时,如果录入了html的元素,在jsp的页面将被按html解释,</p> <p>
*
* 为了避免这种情况,可以使用此函数。</p> <p>
*
* 例如:<input type=text name="employeeName" value="<%=Adaption.<b>
* parseHtml</b> (strName)%>"><p>
*
*
*
*@param strPara 要转换的字符串
*@return 被转换后的字符串
*/
public final static String parseHtml( String strPara )
{
return StringUtils.escape( strPara );
}
/**
* 解析特殊字符
*
*@param strPara 要转换的字符串
*@param repBy 被替换的字符串
*@param rep 替换的字符串
*@return 被转换后的字符串
*/
public final static String parseStr( String strPara, char repBy, String rep )
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -