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

📄 stringutil.java

📁 用java实现的一个论坛,可以供大家参考
💻 JAVA
字号:
package liuxiaobo.util;

import java.io.*;
import javax.mail.internet.*;
import java.net.*;
import java.text.*;
import java.util.*;

public class StringUtil
{

    public static List quoteStrList(List list) {
        List tmpList = list;
        list = new ArrayList();
        Iterator i = tmpList.iterator();
        while (i.hasNext()) {
            String str = (String) i.next();
            str = "'" + str + "''";
            list.add(str);
        }
        return list;
    }

    public static String join(List list, String delim) {
        if (list == null || list.size() < 1)
            return null;
        StringBuffer buf = new StringBuffer();
        Iterator i = list.iterator();
        while (i.hasNext()) {
            buf.append((String) i.next());
            if (i.hasNext())
                buf.append(delim);
        }
        return buf.toString();
    }

    public static List split(String str, String delim) {
        List splitList = null;
        StringTokenizer st = null;

        if (str == null)
            return splitList;

        if (delim != null)
            st = new StringTokenizer(str, delim);
        else
            st = new StringTokenizer(str);

        if (st != null && st.hasMoreTokens()) {
            splitList = new ArrayList();

            while (st.hasMoreTokens())
                splitList.add(st.nextToken());
        }
        return splitList;
    }

    /**
     * Creates a Map from an encoded name/value pair string
     * @param str The string to decode and format
     * @return a Map of name/value pairs
     */
    public static Map strToMap(String str) {
        if (str == null) return null;
        Map decodedMap = new HashMap();
        List elements = split(str, "|");
        Iterator i = elements.iterator();
        while (i.hasNext()) {
            String s = (String) i.next();
            List e = split(s, "=");
            if (e.size() != 2)
                continue;
            String name = (String) e.get(0);
            String value = (String) e.get(1);
            decodedMap.put(URLDecoder.decode(name), URLDecoder.decode(value));
        }
        return decodedMap;
    }

    /**
     * Creates an encoded String from a Map of name/value pairs (MUST BE STRINGS!)
     * @param map The Map of name/value pairs
     * @return String The encoded String
     */
    public static String mapToStr(Map map) {
        if (map == null) return null;
        StringBuffer buf = new StringBuffer();
        Set keySet = map.keySet();
        Iterator i = keySet.iterator();
        boolean first = true;
        while (i.hasNext()) {
            Object key = i.next();
            Object value = map.get(key);
            if (!(key instanceof String) || !(value instanceof String))
                continue;
            String encodedName = URLEncoder.encode((String) key);
            String encodedValue = URLEncoder.encode((String) value);

            if (first)
                first = false;
            else
                buf.append("|");

            buf.append(encodedName);
            buf.append("=");
            buf.append(encodedValue);
        }
        return buf.toString();
    }


  public static String escapeSQLTags(String input)
  {
    if (input!= null){
        input = replaceString(input,"\\","\\\\");
        input = replaceString(input,"\'","\'\'");
    }
    return input;
  }
  public static String escapeHTMLTags(String input)
{
  if(input == null || input.length() == 0)
    return input;
  StringBuffer buf = new StringBuffer();
  char ch = ' ';
  for(int i = 0; i < input.length(); i++)
  {
    ch = input.charAt(i);
    if(ch == '<')
      buf.append("&lt;");
    else if(ch == '>')
        buf.append("&gt;");
    else if(ch == '&')
        buf.append("&amp;");
    else if(ch == '"')
        buf.append("&quot;");
    else
      buf.append(ch);
  }
  return buf.toString();
  }

  public static String encodeCR(String str)
  {
    str = replaceString(str, "\r\n", "\n");
    str = replaceString(str, "\n", "<BR />");
    return str;
  }
  public static String decodeCR(String str)
  {
    str = replaceString(str,"<BR />", "\r\n");
    return str;
  }
    public static String replaceString(String mainString, String oldString, String newString) {
        if (mainString == null) {
            return null;
        }
        if (oldString == null || oldString.length() == 0) {
            return mainString;
        }
        if (newString == null) {
            newString = "";
        }
        int i = mainString.lastIndexOf(oldString);
        if (i < 0) return mainString;
        StringBuffer mainSb = new StringBuffer(mainString);
        while (i >= 0) {
            mainSb.replace(i, i + oldString.length(), newString);
            i = mainString.lastIndexOf(oldString, i - 1);
        }
        return mainSb.toString();
    }


  public static String toUnicode(String string)
  {
    String newString=string;
    try {
      newString=new String(string.getBytes("ISO8859_1"), "SHIFT_JIS");
    }
    catch (UnsupportedEncodingException ex) {
    }
    return newString;
  }
  public  static boolean nullOrBlank(String param){
    return (param==null||param.trim().equals(""))?true:false;
  }

  public  static int parseInt(String param) {
    int i = 0;
    try {
      i = Integer.parseInt(param);
    } catch (Exception e) {
      i = (int)parseFloat(param);
    }
    return i;
  }
  public  static long parseLong(String param) {
  long l = 0;
  try {
    l = Long.parseLong(param);
  } catch (Exception e) {
    l = (long)parseDouble(param);
  }
  return l;
  }
  public  static float parseFloat(String param) {
    float f = 0;
    try {
      f = Float.parseFloat(param);
    } catch (Exception e) {
      //
    }
    return f;
  }
  public  static double parseDouble(String param) {
    double d = 0;
    try {
      d = Double.parseDouble(param);
    } catch (Exception e) {
      //
    }
    return d;
  }
  public  static boolean parseBoolean(String param) {
    switch (param.charAt(0)) {
      case '1':
      case 'y':
      case 'Y':
      case 't':
      case 'T' :
        return true;
    }
    return false;
  }

  public  static boolean verifyEmail(String email) {
    if ( email == null ) return false;
    if ( email.indexOf( '@' ) < 1 ) return false;
    try {
      new InternetAddress( email );
      return true;
    }
    catch ( AddressException e ) {
      return false;
    }
  }

  public static String encodeBase64(String s)
{
    return encodeBase64(s.getBytes());
}

public static String encodeBase64(byte abyte0[])
{
    int l = abyte0.length;
    StringBuffer stringbuffer = new StringBuffer((l / 3 + 1) * 4);
    for(int i1 = 0; i1 < l; i1++)
    {
        int i = abyte0[i1] >> 2 & 0x3f;
        stringbuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i));
        i = abyte0[i1] << 4 & 0x3f;
        if(++i1 < l)
            i |= abyte0[i1] >> 4 & 0xf;
        stringbuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i));
        if(i1 < l)
        {
            int j = abyte0[i1] << 2 & 0x3f;
            if(++i1 < l)
                j |= abyte0[i1] >> 6 & 3;
            stringbuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(j));
        } else
        {
            i1++;
            stringbuffer.append('=');
        }
        if(i1 < l)
        {
            int k = abyte0[i1] & 0x3f;
            stringbuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k));
        } else
        {
            stringbuffer.append('=');
        }
    }

    return stringbuffer.toString();
}

public static String decodeBase64(String s)
{
    return decodeBase64(s.getBytes());
}

public static String decodeBase64(byte abyte0[])
{
    int k = abyte0.length;
    StringBuffer stringbuffer = new StringBuffer((k * 3) / 4);
    for(int l = 0; l < k; l++)
    {
        int i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(abyte0[l]);
        l++;
        int j = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(abyte0[l]);
        i = i << 2 | j >> 4 & 3;
        stringbuffer.append((char)i);
        if(++l < k)
        {
            i = abyte0[l];
            if(61 == i)
                break;
            i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf((char)i);
            j = j << 4 & 0xf0 | i >> 2 & 0xf;
            stringbuffer.append((char)j);
        }
        if(++l >= k)
            continue;
        j = abyte0[l];
        if(61 == j)
            break;
        j = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf((char)j);
        i = i << 6 & 0xc0 | j;
        stringbuffer.append((char)i);
    }

    return stringbuffer.toString();
    }

}

⌨️ 快捷键说明

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