⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commonutil.java

📁 招标投标网上系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
/*
 *********************************************************************
 *  文件 : $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>
     *
     *  例如:&#60;input type=text name="searchtext" value="&#60;%=Adaption.<b>
     *  parseQBacklash</b> (strName)%&#62;"&#62;<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( "&#34;" );
            } else if ( c == '\\' )
            {
                sBuf.append( "&#92;" );
            } else
            {
                sBuf.append( c );
            }
        }
        return sBuf.toString();
    }


    /**
     *  分析在javascript中输入字符串中的字符把单引号,和反斜线转换成编码形式。(perfer) <p>
     *
     *  在jsp页面中在查询时在使用javascript为hidden变量保存数值时,为了避免与html中的双引号发生冲突,而被截断</p> <p>
     *
     *  可以使用此函数。</p> <p>
     *
     *  例如:document.thisform.FORCAT_NAME.value='&#60;%=Adaption.parseJSQBacklash(strFORCAT_NAME)%
     *  &#62;';<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();
    }


    /**
     *  分析输入字符串中的字符把其中的‘&#60;’和‘&#62;’转换成编码形式。 <p>
     *
     *  在jsp页面中在录入数据时,如果录入了html的元素,在jsp的页面将被按html解释,</p> <p>
     *
     *  为了避免这种情况,可以使用此函数。</p> <p>
     *
     *  例如:&#60;input type=text name="employeeName" value="&#60;%=Adaption.<b>
     *  parseHtml</b> (strName)%&#62;"&#62;<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 + -