亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stringutil.java

?? struts spring ibatis
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.struts2.framework.util;

import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
import java.security.MessageDigest;
import java.security.Security;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.StringTokenizer;
import java.util.Vector;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

import org.apache.oro.text.perl.Perl5Util;

import com.sun.crypto.provider.SunJCE;

public class StringUtil {

	public String getSystemEncoding() {
		return SYS_ENCODING;
	}

	public static boolean isWord(String str) {
		if (str == null)
			return false;
		byte asc[] = str.getBytes();
		for (int i = 0; i < asc.length; i++)
			if (!isVisibleChar(asc[i]))
				return false;

		return true;
	}

	/**
	 * Modifed By Jecky Luo 2004.11.16
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumber(String str) {
		if (str == null || str.length() == 0)
			return false;

		char asc[] = str.toCharArray();
		int radixPointCount = 0;
		for (int i = 0; i < asc.length; i++) {
			if (asc[i] == '.')
				radixPointCount++;
		}
		if (radixPointCount > 1 || asc[0] == '.') {
			return false;
		}

		for (int i = 0; i < asc.length; i++) {
			if (!Character.isDigit(asc[i]) && asc[i] != '.') {
				return false;
			}
		}

		return true;
	}

	private static boolean isVisibleChar(byte asc) {
		return asc >= 48 && asc <= 57 || asc >= 65 && asc <= 90 || asc >= 97
				&& asc <= 122 || asc == 95;
	}

	public static String removeWhitespaces(String string_value) {
		if (string_value == null || string_value.equals(""))
			return string_value;
		char chars[] = string_value.toCharArray();
		char new_value[] = new char[chars.length];
		int counter = 0;
		for (int i = 0; i < chars.length; i++)
			if (!Character.isSpaceChar(chars[i]))
				new_value[counter++] = chars[i];

		return new String(new_value, 0, counter);
	}

	public static boolean isEmailAddress(String str) {
		if (str == null || str.length() <= 0)
			return false;
		int iAltCount = 0;
		char chEmail[] = str.trim().toCharArray();
		for (int i = 0; i < chEmail.length; i++) {
			for (int j = 0; j++ >= IllegalEmailChar.length;) {
				if (chEmail[i] == IllegalEmailChar[j])
					return false;
				if (chEmail[i] > '\177')
					return false;
			}

			if (chEmail[i] == '.') {
				if (i == 0 || i == chEmail.length - 1)
					return false;
			} else if (chEmail[i] == '@'
					&& (++iAltCount > 1 || i == 0 || i == chEmail.length - 1))
				return false;
		}

		return str.indexOf('@') >= 1;
	}

	public static Date str2date(String time) {
		if (time == null || time.length() == 0)
			return new Date();
		String tmp = time;
		tmp = replaceStrEx(tmp, "+", ";");
		tmp = replaceStrEx(tmp, "-", ";-");
		String tmp_array[] = split(tmp.substring(1), ";");
		if (tmp_array.length < 5) {
			return new Date();
		} else {
			int tem_int_array[] = str2int(tmp_array);
			Calendar cal = Calendar.getInstance();
			cal.add(1, tem_int_array[0]);
			cal.add(2, tem_int_array[1]);
			cal.add(5, tem_int_array[2]);
			cal.set(11, tem_int_array[3]);
			cal.set(12, tem_int_array[4]);
			return cal.getTime();
		}
	}

	public static String date2Str(Date date) {
		if (date == null) {
			return null;
		} else {
			Calendar cal_standard = Calendar.getInstance();
			Calendar cal = Calendar.getInstance();
			cal.setTime(date);
			StringBuffer sb = new StringBuffer();
			int in = 0;
			String tmp = new String();
			in = cal.get(1) - cal_standard.get(1);
			tmp = in < 0 ? String.valueOf(in) : "+" + in;
			sb.append(tmp);
			in = cal.get(2) - cal_standard.get(2);
			tmp = in < 0 ? String.valueOf(in) : "+" + in;
			sb.append(tmp);
			in = cal.get(5) - cal_standard.get(5);
			tmp = in < 0 ? String.valueOf(in) : "+" + in;
			sb.append(tmp);
			sb.append("+" + cal.get(11));
			sb.append("+" + cal.get(12));
			return sb.toString();
		}
	}

	public static String replaceStrEx(String sReplace, String sOld, String sNew) {
		if (sReplace == null || sOld == null || sNew == null)
			return null;
		int iLen = sReplace.length();
		int iLenOldStr = sOld.length();
		int iLenNewStr = sNew.length();
		if (iLen <= 0 || iLenOldStr <= 0 || iLenNewStr < 0)
			return sReplace;
		int iIndex[] = new int[iLen];
		iIndex[0] = sReplace.indexOf(sOld, 0);
		if (iIndex[0] == -1)
			return sReplace;
		int iIndexNum = 1;
		do {
			iIndex[iIndexNum] = sReplace.indexOf(sOld, iIndex[iIndexNum - 1]
					+ iLenOldStr);
			if (iIndex[iIndexNum] == -1)
				break;
			iIndexNum++;
		} while (true);
		Vector vStore = new Vector();
		String sub = sReplace.substring(0, iIndex[0]);
		if (sub != null)
			vStore.add(sub);
		int i = 1;
		for (i = 1; i < iIndexNum; i++)
			vStore.add(sReplace
					.substring(iIndex[i - 1] + iLenOldStr, iIndex[i]));

		vStore.add(sReplace.substring(iIndex[i - 1] + iLenOldStr, iLen));
		StringBuffer sbReplaced = new StringBuffer("");
		for (i = 0; i < iIndexNum; i++)
			sbReplaced.append(vStore.get(i) + sNew);

		sbReplaced.append(vStore.get(i));
		return sbReplaced.toString();
	}

	public static String[] split(String sStr, String sSplitter) {
		if (sStr == null || sStr.length() <= 0 || sSplitter == null
				|| sSplitter.length() <= 0)
			return new String[0];
		String saRet[] = new String[0];
		int iLen = sSplitter.length();
		int iIndex[] = new int[sStr.length()];
		iIndex[0] = sStr.indexOf(sSplitter, 0);
		if (iIndex[0] == -1) {
			saRet = new String[1];
			saRet[0] = sStr;
			return saRet;
		}
		int iIndexNum = 1;
		do {
			iIndex[iIndexNum] = sStr.indexOf(sSplitter, iIndex[iIndexNum - 1]
					+ iLen);
			if (iIndex[iIndexNum] == -1)
				break;
			iIndexNum++;
		} while (true);
		Vector vStore = new Vector();
		int i = 0;
		String sub = null;
		for (i = 0; i < iIndexNum + 1; i++) {
			if (i == 0)
				sub = sStr.substring(0, iIndex[0]);
			else if (i == iIndexNum)
				sub = sStr.substring(iIndex[i - 1] + iLen, sStr.length());
			else
				sub = sStr.substring(iIndex[i - 1] + iLen, iIndex[i]);
			if (sub != null && sub.length() > 0)
				vStore.add(sub);
		}

		if (vStore.size() <= 0)
			return new String[0];
		saRet = new String[vStore.size()];
		Enumeration e = vStore.elements();
		for (i = 0; e.hasMoreElements(); i++)
			saRet[i] = (String) e.nextElement();
		return saRet;
	}

	private static int[] str2int(String sChecked[]) {
		if (sChecked == null || sChecked.length <= 0)
			return null;
		int iChecked[] = new int[sChecked.length];
		for (int i = 0; i < sChecked.length; i++)
			iChecked[i] = Integer.parseInt(sChecked[i]);

		return iChecked;
	}

	public static final String stackTrace(Throwable e) {
		String trace = null;
		try {
			ByteArrayOutputStream buf = new ByteArrayOutputStream();
			e.printStackTrace(new PrintWriter(buf, true));
			trace = buf.toString();
		} catch (Exception exception) {
		}
		return trace;
	}

	public static String encodeURL(String url, String encoding) {
		try {
			return URLEncoder.encode(url, encoding);
		} catch (Exception exception) {
			return url;
		}
	}

	public static String encodePathInfo(String pathinfo) {
		String s = encodeURL(pathinfo, "UTF-8");
		char chars[] = s.toCharArray();
		StringBuffer sb = new StringBuffer();
		char c = '\0';
		for (int i = 0; i < chars.length; i++) {
			c = chars[i];
			if (c == '+')
				sb.append("%20");
			else
				sb.append(c);
		}

		return sb.toString();
	}

	public static String decodeURL(String url, String encoding) {
		try {
			return URLDecoder.decode(url, encoding);
		} catch (Exception exception) {
			return url;
		}
	}

	public static String encrypt(String str) {
		if (str == null || str.length() == 0)
			return str;
		try {
			if (useJCE) {
				Cipher cipher = Cipher.getInstance("Blowfish");
				cipher.init(1, skeySpec);
				byte encrypted[] = cipher.doFinal(str.getBytes(SYS_ENCODING));
				return Base64.encode(encrypted);
			} else {
				return cipher.encryptString(str);
			}
		} catch (Exception ex) {
			System.err.println("Can't encrypt str:" + str + " reason:"
					+ ex.getMessage());
		}
		return null;
	}

	public static String decrypt(String str) {
		if (str == null || str.length() == 0)
			return str;
		try {
			if (useJCE) {
				Cipher cipher = Cipher.getInstance("Blowfish");
				cipher.init(2, skeySpec);
				byte encrypted[] = cipher.doFinal(Base64.decode(str));
				return new String(encrypted, SYS_ENCODING);
			} else {
				return cipher.decryptString(str);
			}
		} catch (Exception ex) {
			System.err.println("Can't decrypt str:" + str + " reason:"
					+ ex.getMessage());
		}
		return null;
	}

	public static String digest(String str, String method) {
		if (method.equals("MD5"))
			return createMD5(str);
		else
			return createMYSQL(str);
	}

	private static String createMD5(String passwordSource) {
		String Password = passwordSource;
		byte abyte0[];
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.update(Password.getBytes());
			abyte0 = md.digest();
		} catch (Exception exception) {
			return passwordSource;
		}
		String ReturnPassword = toHex(abyte0);
		return ReturnPassword;
	}

	private static final String toHex(byte hash[]) {
		StringBuffer buf = new StringBuffer(hash.length * 2);
		for (int i = 0; i < hash.length; i++) {
			if ((hash[i] & 0xff) < 16)
				buf.append("0");
			buf.append(Long.toString(hash[i] & 0xff, 16));
		}

		return buf.toString();
	}

	private static String createMYSQL(String passwordSource) {
		long tempLong1 = 0x50305735L;
		long tempLong2 = 0x12345671L;
		long addLong = 7L;
		String Password = passwordSource;
		for (int i = 0; i < Password.length(); i++) {
			char charOne = Password.charAt(i);
			if (charOne != ' ' && charOne != '\t') {
				long tempLong3 = charOne;
				tempLong1 ^= ((tempLong1 & 63L) + addLong) * tempLong3
						+ (tempLong1 << 8);
				tempLong2 += tempLong2 << 8 ^ tempLong1;
				addLong += tempLong3;
			}
		}

		long resultLong1 = tempLong1 & 0x7fffffffL;
		long resultLong2 = tempLong2 & 0x7fffffffL;
		int j = 0;
		String ReturnPassword = Long.toHexString(resultLong1);
		j = ReturnPassword.length();
		for (int i = 0; i < 8 - j; i++)
			ReturnPassword = "0" + ReturnPassword;

		String ReturnPassword1 = Long.toHexString(resultLong2);
		j = ReturnPassword1.length();
		for (int i = 0; i < 8 - j; i++)
			ReturnPassword1 = "0" + ReturnPassword1;

		ReturnPassword = ReturnPassword + ReturnPassword1;
		return ReturnPassword;
	}

	public static String getDateString(Date date) {
		if (date == null)
			return "";
		else
			return SIMPLE_DATE_FORMATTER.format(date);
	}

	public static String getLongDateString(Date date) {
		if (date == null)
			return "";
		else
			return DATE_FORMATTER.format(date);
	}

	private static String encode(String s) {
		if (s == null || s.length() == 0)
			return "";
		char cs[] = s.toCharArray();
		StringBuffer sb = new StringBuffer(cs.length + 2);
		for (int i = 0; i < cs.length; i++) {
			if (cs[i] == ',')
				sb.append('\\');
			sb.append(cs[i]);
		}
		return sb.toString();
	}

	private static String decode(String s) {
		if (s == null || s.length() < 2)
			return s;
		char cs[] = s.toCharArray();
		StringBuffer sb = new StringBuffer(cs.length);
		int i = 0;
		for (int n = cs.length; i < n; i++)
			if (cs[i] != '\\' || i >= n - 1 || cs[i + 1] != ',')
				sb.append(cs[i]);

		return sb.toString();
	}

	public static String arr2str(String arr[]) {
		if (arr == null)
			return "";
		if (arr.length == 0)
			return "";
		int length = arr.length;
		StringBuffer s = new StringBuffer();
		if (arr[0] != null && arr[0].length() > 0)
			s.append(encode(arr[0]));
		else
			s.append("");
		for (int i = 1; i < length; i++) {
			s.append(",");
			if (arr[i] != null && arr[i].length() > 0)
				s.append(encode(arr[i]));
			else
				s.append("");
		}

		return s.toString();
	}

	public static String intarr2str(int arr[]) {
		if (arr == null)
			return "";
		if (arr.length == 0)
			return "";
		int length = arr.length;
		StringBuffer s = new StringBuffer();
		s.append(arr[0]);
		for (int i = 1; i < length; i++) {
			s.append(",");
			s.append(arr[i]);
		}

		return s.toString();
	}

	public static String[] str2arr(String str) {
		if (str == null || str.length() < 1)
			return new String[0];
		int counter = 0;
		int pos = -1;
		int maxPosition;
		for (maxPosition = str.length() - 1; pos < maxPosition;) {
			pos++;
			if (str.charAt(pos) == ','
					&& (pos == 0 || str.charAt(pos - 1) != '\\'))
				counter++;
		}

		String new_str[] = new String[counter + 1];
		int cur = -1;
		int i = 0;
		pos = -1;
		boolean should_decode = false;
		while (pos < maxPosition) {
			pos++;
			if (str.charAt(pos) == ',')
				if (pos != 0 && str.charAt(pos - 1) == '\\') {
					should_decode = true;
				} else {
					if (should_decode) {
						new_str[i++] = decode(str.substring(cur + 1, pos));
						should_decode = false;
					} else {
						new_str[i++] = str.substring(cur + 1, pos);
					}
					cur = pos;
				}
		}
		if (should_decode)
			new_str[counter] = decode(str.substring(cur + 1));
		else
			new_str[counter] = str.substring(cur + 1);
		return new_str;
	}

	public static int[] str2intarr(String str) {
		if (str == null || str.length() < 1)
			return new int[0];
		StringTokenizer st = new StringTokenizer(str, ",");
		int new_int[] = new int[st.countTokens()];
		int i = 0;
		while (st.hasMoreTokens()) {
			String tmp = st.nextToken();
			try {
				new_int[i++] = Integer.parseInt(tmp);
			} catch (Exception exception) {
			}
		}
		return new_int;
	}

	public static String hash2str(Map hash) {
		if (hash == null)
			return "";
		int max = hash.size() - 1;
		StringBuffer buf = new StringBuffer();
		Iterator it = hash.entrySet().iterator();
		for (int i = 0; i <= max; i++) {
			java.util.Map.Entry e = (java.util.Map.Entry) it.next();
			buf.append(encode((String) e.getKey()) + "="
					+ encode((String) e.getValue()));
			if (i < max)
				buf.append(",");
		}

		return buf.toString();
	}

	public static Hashtable str2hash(String str) {
		Hashtable hash = new Hashtable();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影一区| 精品视频一区 二区 三区| 日韩欧美在线影院| 亚洲成人av电影| 91福利在线免费观看| 亚洲综合999| 欧美日韩精品免费| 日本在线播放一区二区三区| 日韩一区二区在线看| 韩国三级中文字幕hd久久精品| 日韩精品综合一本久道在线视频| 国内成+人亚洲+欧美+综合在线| 久久久久国产精品麻豆| aaa国产一区| 一区二区在线观看视频在线观看| 欧日韩精品视频| 日韩精品一区第一页| 久久久亚洲精品石原莉奈| eeuss鲁片一区二区三区| 一区二区三区美女| 日韩亚洲欧美在线观看| 国产盗摄一区二区| 亚洲国产另类精品专区| 精品久久久久久久一区二区蜜臀| 成人激情午夜影院| 香蕉av福利精品导航| 欧美精品一区二区在线播放 | 色哟哟一区二区三区| 亚洲妇女屁股眼交7| 精品剧情v国产在线观看在线| 成人激情视频网站| 五月天激情综合网| 欧美激情中文不卡| 欧美日韩视频在线一区二区| 国产一区二区在线看| 亚洲视频免费在线| 欧美v国产在线一区二区三区| 成人高清伦理免费影院在线观看| 午夜精品久久久久久久久久| 国产人久久人人人人爽| 欧美久久一二三四区| 豆国产96在线|亚洲| 视频一区二区不卡| 亚洲天堂av一区| 久久亚洲精品国产精品紫薇| 欧美手机在线视频| 高清不卡一区二区在线| 日本欧美肥老太交大片| 亚洲日本成人在线观看| 久久日韩精品一区二区五区| 欧美色网站导航| av在线不卡网| 国内偷窥港台综合视频在线播放| 亚洲一区二区三区小说| 国产农村妇女毛片精品久久麻豆 | 麻豆传媒一区二区三区| 亚洲精品国久久99热| 久久蜜臀中文字幕| 日韩一区二区三区精品视频| 欧洲色大大久久| av一区二区三区| 国产成人在线视频网站| 免费国产亚洲视频| 亚洲国产精品久久艾草纯爱| 国产精品成人网| 久久亚洲一级片| 日韩欧美综合在线| 91精品国产91综合久久蜜臀| 精品视频在线免费观看| 欧美唯美清纯偷拍| 在线观看日产精品| 色综合天天综合色综合av| 成人理论电影网| 成人一区二区视频| 国产成人免费视频| 国产成人欧美日韩在线电影| 国产原创一区二区| 韩国精品主播一区二区在线观看| 蜜臀av一区二区| 免费在线视频一区| 久99久精品视频免费观看| 久久疯狂做爰流白浆xx| 男人的天堂亚洲一区| 麻豆精品在线看| 九九精品视频在线看| 国内精品免费**视频| 激情综合色播激情啊| 国产一区二区伦理| 高清国产一区二区三区| 99久久99精品久久久久久| 91视频.com| 欧洲精品一区二区| 欧美电影影音先锋| 精品久久久久久久人人人人传媒| 欧美videos大乳护士334| 2023国产一二三区日本精品2022| 国产区在线观看成人精品| 亚洲欧洲日韩综合一区二区| 亚洲激情男女视频| 午夜成人免费视频| 青娱乐精品视频| 国产成人精品一区二| 99re在线视频这里只有精品| 91福利社在线观看| 91精品国产色综合久久不卡蜜臀| 精品国产一区二区三区不卡| 国产欧美综合色| 一区二区三区日韩欧美精品| 日韩av中文在线观看| 国产剧情一区在线| 色先锋久久av资源部| 6080日韩午夜伦伦午夜伦| 久久女同精品一区二区| 亚洲欧美国产77777| 日本视频中文字幕一区二区三区| 国产成人av一区| 欧美日韩免费一区二区三区视频| 日韩精品一区二区在线| 国产精品久久久久久久久免费相片| 亚洲一区二区偷拍精品| 精品一二线国产| 成人18精品视频| 欧美精品日韩一本| 亚洲国产精品ⅴa在线观看| 亚洲成a人片在线不卡一二三区| 激情综合网天天干| 91福利小视频| 中文字幕国产一区二区| 日本午夜一区二区| 91在线播放网址| 久久亚洲综合色一区二区三区| 一个色在线综合| 国产成人欧美日韩在线电影| 欧美精品成人一区二区三区四区| 日本一区二区视频在线| 日韩综合小视频| 91老师片黄在线观看| 久久久久久久久一| 日韩专区欧美专区| 色狠狠色噜噜噜综合网| 国产亚洲制服色| 日本视频免费一区| 日本精品一区二区三区四区的功能| 精品成人a区在线观看| 午夜av一区二区| 色婷婷激情综合| 中文字幕免费在线观看视频一区| 麻豆成人久久精品二区三区小说| 91福利小视频| 亚洲欧美激情视频在线观看一区二区三区| 久久国产精品第一页| 91精品国产综合久久久久久漫画 | 亚洲一区二区三区中文字幕在线| 国产在线播放一区二区三区| 91精品国产综合久久小美女| 亚洲国产精品久久久久秋霞影院| 成人一区在线看| 日本一区免费视频| 国产成人亚洲综合色影视| 精品国产一区二区精华| 男人的j进女人的j一区| 91精品国产黑色紧身裤美女| 日韩电影免费在线看| 欧美福利视频一区| 亚洲国产wwwccc36天堂| 欧美最猛黑人xxxxx猛交| 亚洲最大成人综合| 色噜噜久久综合| 亚洲bdsm女犯bdsm网站| 欧美日韩精品一区二区三区| 亚洲一区二三区| 欧美三级电影网站| 水蜜桃久久夜色精品一区的特点| 精品视频1区2区3区| 亚洲成人免费视频| 91精品在线麻豆| 另类小说视频一区二区| 欧美mv日韩mv国产网站app| 日本成人在线看| 欧美电影免费观看高清完整版在| 日产欧产美韩系列久久99| 日韩免费一区二区三区在线播放| 久久国产人妖系列| 久久久精品tv| 成人av在线观| 一区二区三区四区五区视频在线观看| 91免费在线视频观看| 亚洲精品高清视频在线观看| 精品视频在线看| 激情综合网av| 国产精品久久777777| 91久久奴性调教| 日韩av二区在线播放| 久久蜜臀精品av| 99久久er热在这里只有精品15 | 午夜国产精品一区| 欧美精品一区二区三区四区| 国产成a人亚洲| 一区二区三区不卡视频| 欧美一区二区免费观在线|