📄 stringutil.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("<");
else if(ch == '>')
buf.append(">");
else if(ch == '&')
buf.append("&");
else if(ch == '"')
buf.append(""");
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 + -