strutil.java~1~

来自「一个自己做的公司网站和办公职员管理系统。」· JAVA~1~ 代码 · 共 292 行

JAVA~1~
292
字号
package ws.woa.util;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang.StringUtils;

/**
 * 暥帤楍偺憖嶌傪峴偆奺庬static儊僜僢僪傪採嫙偡傞僋儔僗偱偡丅
 * 堦晹丄Jakarta Commons Lang#StringUtils偺儔僢僷儊僜僢僪傪娷傒傑偡丅
 * 
 * @author Naoki Takezoe
 */
public class StrUtil {
    
    /**
     * HTML偺摿庩婰崋傪幚懺嶲徠偵曄姺偟傑偡丅
     * 夵峴僐乕僪傕<BR>僞僌偵曄姺偟傑偡丅
     * 
     * @param str 曄姺懳徾偺暥帤楍
     * @return 曄姺屻偺暥帤楍
     */
    public static String tagFilter(String str){
        
        str = StringUtils.replace(str,"<","&lt;");
        str = StringUtils.replace(str,">","&gt;");
        str = StringUtils.replace(str,"\"","&quot;");
        str = StringUtils.replace(str,"\r\n","<BR>"); // Win
        str = StringUtils.replace(str,"\r","<BR>");   // Mac
        str = StringUtils.replace(str,"\n","<BR>");   // Unix

        return str;
    }
    
    /**
     * HTML偺摿庩婰崋傪幚懺嶲徠偵曄姺偟傑偡丅
     * 偨偩偟夵峴僐乕僪偼曄姺偟傑偣傫丅
     * 僼僅乕儉偵懏惈抣傪奿擺偡傞嵺側偳偵巊梡偟偰偔偩偝偄丅
     * 
     * @param str 曄姺懳徾偺暥帤楍
     * @return 曄姺屻偺暥帤楍
     */
    public static String formFilter(String str){
        
        str = StringUtils.replace(str,"<","&lt;");
        str = StringUtils.replace(str,">","&gt;");
        str = StringUtils.replace(str,"\"","&quot;");
        
        return str;
    }
    
    public static String dbFilter(String str){
        return StringUtils.replace(str,"'","''");
    }
    
    /**
     * 暥帤楍偑NULL偩偭偨応崌偵嬻暥帤楍偵曄姺偟傑偡丅
     *
     * @param s 曄姺懳徾偺暥帤楍丅
     * @return s偑null偺応崌偼嬻暥帤楍丄偦傟埲奜偺応崌偼尦偺暥帤楍丅
     */
    public static String nullConv(String s){
        if(s==null){ return ""; } else { return s; }
    }

    /**
     * 暥帤楍偑NULL偩偭偨応崌偵巜掕偟偨暥帤楍偵曄姺偟傑偡丅
     *
     * @param s1 曄姺懳徾偺暥帤楍丅
     * @param s2 NULL偺偲偒偵曉偡暥帤楍
     * @return s1偑null偺応崌偼巜掕偟偨暥帤楍丄偦傟埲奜偺応崌偼尦偺暥帤楍丅
     */
    public static String nullConv(String s1,String s2){
        if(s1==null){ return s2; } else { return s1; }
    }

    /**
     * 暥帤楍偺僶僀僩挿傪曉偡儊僜僢僪偱偡丅
     *
     * @param str 専嵏懳徾偺暥帤楍丅
     * @return 堷悢偺暥帤楍s偺僶僀僩挿丅
     */
    public static int getLength(String str){
        return str.getBytes().length;
    }


    /**
     * 暥帤楍偺愭摢偲枛旜偺僞僽丄僗儁乕僗傪攔彍偟傑偡丅
     * 堷悢偑NULL偺応崌偼嬻暥帤楍傪曉偟傑偡丅
     *
     * @param str 暥帤楍丅
     * @return 堷悢偺暥帤楍str偐傜僞僽丄僗儁乕僗傪庢傝彍偄偨暥帤楍丅
     */
    public static String trim(String str){
        // NULL偺応崌丄嬻暥帤楍傪曉偡
        if(str==null){ return ""; }

        StringBuffer sb = new StringBuffer();
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            if(c!=' ' && c!='\t' && c!='丂'){ sb.append(c); }
        }
        return sb.toString();
    }

    /**
     * 暥帤楍偺枛旜偺僞僽丄僗儁乕僗傪攔彍偟傑偡丅
     * 堷悢偑NULL偺応崌偼嬻暥帤楍傪曉偟傑偡丅
     *
     * @param str 暥帤楍丅
     * @return 堷悢偺暥帤楍str偺枛旜偐傜僞僽丄僗儁乕僗傪庢傝彍偄偨暥帤楍丅
     */
    public static String rTrim(String str){
        // NULL偺応崌丄嬻暥帤楍傪曉偡
        if(str==null){ return ""; }
        char c = ' ';
        int index = str.length();
        while((c==' ' || c=='丂' || c=='\t') && index > 0){
            index = index - 1;
            c = str.charAt(index);
        }
        return str.substring(0,index+1);
    }

    /**
     * 暥帤楍偺愭摢偺僞僽丄僗儁乕僗傪攔彍偟傑偡丅
     * 堷悢偑NULL偺応崌偼嬻暥帤楍傪曉偟傑偡丅
     *
     * @param str 暥帤楍丅
     * @return 堷悢偺暥帤楍str偺愭摢偐傜僞僽丄僗儁乕僗傪庢傝彍偄偨暥帤楍丅
     */
    public static String lTrim(String str){
        // NULL偺応崌丄嬻暥帤楍傪曉偡
        if(str==null){ return ""; }
        char c = ' ';
        int index = -1;
        while((c==' ' || c=='丂' || c=='\t') && index < str.length()){
            index = index + 1;
            c = str.charAt(index);
        }
        return str.substring(index,str.length());
    }

    /**
     * 僗儁乕僗偐傜惉傞巜掕偺挿偝偺暥帤楍傪嶌惉偟傑偡丅
     *
     * @param num 嶌惉偡傞僗儁乕僗暥帤楍偺挿偝丅
     * @return 僗儁乕僗偐傜惉傞暥帤楍丅
     */
    public static String createSpace(int num){
        if(num <= 0){ return ""; }
        StringBuffer sb = new StringBuffer();
        for(int i=0;i<num;i++){ sb.append(" "); }
        return sb.toString();
    }
    
    
    /**
     * 搉偝傟偨暥帤楍傪俫俿俵俴宍幃偺廲暥帤偵曄姺偟傑偡丅<br>
     *
     * @param str  曄姺懳徾偺暥帤楍
     * @return 曄姺屻偺暥帤楍
     */
    public static String getLengthTransfor(String str){
        return getLengthTransfor(str,0);
    }
    
    /**
     * 暥帤楍source偺偆偪丄from傪to偵抲姺偟傑偡丅
     * 偙偺儊僜僢僪偼Jakarta Commons Lang偺StringUtils#replace偺儔僢僷偱偡丅
     */
    public static String replace(String source,String from,String to){
        return StringUtils.replace(source,from,to);
    }
    
    /**
     * 暥帤楍偑巜掕偺挿偝偵枮偨側偄応崌丄嵍懁傪敿妏僗儁乕僗偱杽傔傑偡丅
     * 暥帤楍偑巜掕偺挿偝埲忋偺応崌偼側偵傕峴偄傑偣傫丅
     * 偙偺儊僜僢僪偼Hakarta Commons Lang偺StringUtils#leftPad偺儔僢僷偱偡丅
     */
    public static String lPad(String source,int len){
        return StringUtils.leftPad(source,len);
    }
    
    /**
     * 暥帤楍偑巜掕偺挿偝偵枮偨側偄応崌丄塃懁傪敿妏僗儁乕僗偱杽傔傑偡丅
     * 暥帤楍偑巜掕偺挿偝埲忋偺応崌偼側偵傕峴偄傑偣傫丅
     * 偙偺儊僜僢僪偼Hakarta Commons Lang偺StringUtils#leftPad偺儔僢僷偱偡丅
     */
    public static String rPad(String source,int len){
        return StringUtils.rightPad(source,len);
    }
    
    /**
     * 暥帤楍偑巜掕偺僶僀僩挿偵枮偨側偄応崌丄塃懁傪敿妏僗儁乕僗偱杽傔傑偡丅
     * 暥帤楍偑巜掕偺挿偝埲忋偺応崌偼側偵傕峴偄傑偣傫丅
     */
    public static String lPadB(String source,int len){
        int length = getLength(source);
        if(length<len){
            return createSpace(len-length)+source;
        } else {
            return source;
        }
    }
    
    /**
     * 暥帤楍偑巜掕偺僶僀僩挿偵枮偨側偄応崌丄塃懁傪敿妏僗儁乕僗偱杽傔傑偡丅
     * 暥帤楍偑巜掕偺挿偝埲忋偺応崌偼側偵傕峴偄傑偣傫丅
     */
    public static String rPadB(String source,int len){
        int length = getLength(source);
        if(length<len){
            return source+createSpace(len-length);
        } else {
            return source;
        }
    }
    
    /**
     * 搉偝傟偨暥帤楍傪俫俿俵俴宍幃偺廲暥帤偵曄姺偟傑偡丅<br>
     * 婯掕峴悢偵枮偨側偄応崌偼丄巆傝偺峴傪&lt;BR&gt;僞僌偱杽傔傑偡丅
     *
     * @param str  曄姺懳徾偺暥帤楍
     * @param flag 婯掕偺峴悢
     * @return 曄姺屻偺暥帤楍
     */
     public static String getLengthTransfor(String str,int rows){
    
        String wStr   = "";
        String ret    = "";
        String sDummy = "";
        int    wInt   = 0;
        int  nStrlength = rows- str.length(); //暥帤悢庢摼
        
        if (nStrlength >=rows){    //侾侽暥帤埲忋偼枹張棟
            nStrlength = 0;
        }else if (nStrlength <=0){ //侽 暥帤埲壓傕枹張棟
            nStrlength = 0;
        }
        
        for(int i = 0; i < str.length(); i++){
            if ( i ==  str.length() ) {
                wStr = str.substring(i,str.length());
            } else {
                wStr = str.substring(i,i + 1);
            }

            // 摿庩暥帤偺曄姺張棟
            if (wStr.equals("乕")){ wStr = "乥"; }
            if (wStr.equals("亅")){ wStr = "乥"; } // 慡妏亅
            if (wStr.equals("-")) { wStr = "乥"; } // 敿妏亅
            if (wStr.equals("乗")){ wStr = "乥"; } // 摿庩暥帤乗
            if (wStr.equals("亖")){ wStr = "乤"; }
            if (wStr.equals("=")) { wStr = "乤"; }
            if (wStr.equals("_")) { wStr = "乥"; }
            if (wStr.equals("丵")){ wStr = "乥"; }
            if (wStr.equals("仺")){ wStr = "伀"; }
            if (wStr.equals("仼")){ wStr = "仾"; }
            // encode  
            wStr = StrUtil.formFilter(wStr);
            ret += wStr + "<BR>";
        }
       
        if (nStrlength!=0){
            for (int cnt = 0; cnt < nStrlength; cnt++){ ret = ret + "<BR>"; }
        }
        return ret;
    }
    
    /**
     * 擔晅傪YYYY/MM/DD HH:MM:SS宍幃偵僼僅乕儅僢僩偟偰曉偟傑偡丅
     */
    public static String formatDate(Date date){
        try {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            return formatter.format(date);
        } catch(Exception ex){
            return "";
        }
    }
    
    /**
     * 僥僗僩梡
     */
    public static void main(String[] args){
        System.out.println("["+rPadB("aaa",10)+"]");
        System.out.println("["+rPadB("偁偄偆",10)+"]");
    }
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?