| |
package com.cdc;
import java.util.*; import java.io.*;
/** * 常用基础函数(包括合并数组,拆分字串到数组,生成随机数,替换字符串中的子字符串,获取当前时间),将hashtable内容转入数组 * 创建日期:(2001-7-19 17:22:33) * @author:刘晓东 */
public class util {
/** * 拼合数组。 * 创建日期:(2001-8-13 17:08:26) * @return java.lang.string * @param param java.lang.string */ public string join_array(string[] param,string spilt) { string rentunstring; stringbuffer tempstr = new stringbuffer(); int len = param.length; for (int i = 0 ; i<len-1;i++ ) { tempstr.append(param[i]); tempstr.append(spilt); } tempstr.append(param[len-1]); rentunstring = tempstr.tostring();
return rentunstring; } /** * 产生在start和end之间的num个随机整数,返回值存在hashtable中。 * 创建日期:(2001-7-30 8:50:23) * @return java.util.hashtable * @param start int 起始点 * @param end int 结束点 * @param num int 生成个数 */ public hashtable random(int start, int end, int num) { hashtable randomhash = new hashtable(); for (int i = 0; i < num; i++) { double sru = math.random() * end; int tag = math.round((float) sru); if (tag < start) { i--; } else { randomhash.put(new integer(i), new integer(tag)); } } return randomhash; } /** * 替换字符串中的子字符串 * 创建日期:(2001-10-10 13:50:21) * @return java.lang.string * @param param java.lang.string 原字符串 * @param param1 java.lang.string 需要替换的子字符串 * @param param2 java.lang.string 将被替换成的子字符串 * @exception java.lang.exception 异常说明。 */ public string replacestring( string param, string param1, string param2) throws java.lang.exception { string returnstring = ""; try { if (param != null && param1 != null && param2 != null && !param.equalsignorecase("") && !param1.equalsignorecase("") && !param2.equalsignorecase("")) {
int intlen = param.length(); //原字符串长度
int intlensrc = param1.length(); //需要替换的子字符串长度
int intpoint = 0; //当前位置
while (intpoint < param.length()) { if ((intpoint + intlensrc) <= param.length() && intpoint<param.length()) { string comparestring = param.substring(intpoint, intpoint + intlensrc);
if (comparestring.equalsignorecase(param1)) { returnstring = returnstring + param2;
intpoint = intpoint + param1.length(); } else { returnstring = returnstring + param.charat(intpoint); intpoint++;
}
} else if ((intpoint + intlensrc) > param.length() && intpoint<param.length()) { returnstring = returnstring + param.charat(intpoint); intpoint++;
} else if ((intpoint + intlensrc) > param.length()) { break; }
} }
} catch (java.lang.exception ex) {
return ex.tostring();
}
return returnstring; } /** * 此处插入方法说明 * 拆分字串到数组,分割符请使用,.等,不能使用中文符号作为分割符号,返回hashtable * 创建日期:(2001-7-10 14:50:31) * @param fieldsru java.lang.string 输入参数:待拆分字符串 * @param tag java.lang.string 输入参数:分割符 * 返回hashtable * @exception java.lang.exception 异常说明。 * @exception java.io.ioexception 异常说明。 */ public hashtable spilt(string fieldsru, string tag) { hashtable returnarray = new hashtable(); char dot = tag.charat(0); string field; field = fieldsru + dot; int num = 0; int field_len = field.length(); for (int i = 0; i < field_len; i++) { if (field.charat(i) == dot) { num++; } } int begin = 0; int end; for (int j = 0; j < num; j++) {
end = field.indexof(dot, begin); returnarray.put(new integer(j), field.substring(begin, end)); begin = end + 1; }
return returnarray; }
/** * 拆分字串到数组,分割符请使用,.等,不能使用中文符号作为分割符号,返回string[] * 创建日期:(2001-7-10 14:50:31) * @param fieldsru java.lang.string 输入参数:待拆分字符串 * @param tag java.lang.string 输入参数:分割符 * 返回string[] * @exception java.lang.exception 异常说明。 * @exception java.io.ioexception 异常说明。 */ public string[] spilt_str(string fieldsru, string tag) { //hashtable returnarray = new hashtable(); char dot = tag.charat(0); string field; field = fieldsru + dot; int num = 0; int field_len = field.length(); for (int i = 0; i < field_len; i++) { if (field.charat(i) == dot) { num++; } } string[] returnarray = new string[num]; int begin = 0; int end; for (int j = 0; j < num; j++) {
end = field.indexof(dot, begin); returnarray[j] = field.substring(begin, end); //returnarray.put(new integer(j), field.substring(begin, end)); begin = end + 1; }
return returnarray; } /** * 拆分字串到数组,分割符可使用多个字符或者中文 * 创建日期:(2001-7-10 14:50:31) * @param fieldsru java.lang.string 输入参数:待拆分字符串 * @param tag java.lang.string 输入参数:分割符 * @exception java.lang.exception 异常说明。 * @exception java.io.ioexception 异常说明。 */ public string[] splitstring(string fieldsru, string tag) { try { int dot_len = tag.length(); //获得分割符的长度 int str_len = fieldsru.length(); //字符串长度 string tempstr = fieldsru + tag; int num = 0; for (int i = 0; i < str_len; i++) { int point = i + dot_len; if (point < str_len) { string temp = fieldsru.substring(i, point); if (temp.equalsignorecase(tag)) { num++; } } } num = num + 1; string[] returnarray = new string[num]; int begin = 0; int end = fieldsru.indexof(tag); for (int i = 0; i < num; i++) {
end = tempstr.indexof(tag, begin); returnarray[i] = tempstr.substring(begin, end); begin = end + dot_len; } return returnarray; } catch (java.lang.exception e) { system.out.println(e.getmessage());
} return null; }
/** * 获取当前时间()时间格式 (mm/dd/yyyy hh:mm:ss pm)参数为时区 * 创建日期:(2001-10-22 10:11:48) * @return java.lang.string * @exception java.lang.exception 异常说明。 */ public string gettime(int time_zone) throws java.lang.exception {
string nowtime = ""; try { if (time_zone > 0) { time_zone = time_zone - 1; } else if (time_zone < 0) { time_zone = time_zone + 1; }
string[] ids = timezone.getavailableids(time_zone * 60 * 60 * 1000); simpletimezone pdt = new simpletimezone(time_zone * 60 * 60 * 1000, ids[0]); pdt.setstartrule( calendar.april, 1, calendar.sunday, 2 * 60 * 60 * 1000); pdt.setendrule( calendar.october, -1, calendar.sunday, 2 * 60 * 60 * 1000);
calendar calendar = new gregoriancalendar(pdt); date trialtime = new date(); calendar.settime(trialtime); string now_year = new integer(calendar.get(calendar.year)).tostring(); string now_month = new integer(calendar.get(calendar.month) + 1).tostring(); if (now_month.length() == 1) { now_month = "0" + now_month; } string now_date = new integer(calendar.get(calendar.date)).tostring(); if (now_date.length() == 1) { now_date = "0" + now_date; } int am_pm = calendar.get(calendar.am_pm); string now_hour = new integer(calendar.get(calendar.hour)).tostring(); if (am_pm == 1) { int intnow_hour = integer.parseint(now_hour) + 12; now_hour = (new integer(intnow_hour)).tostring();
} else { } if (now_hour.length() == 1) {
now_hour = "0" + now_hour;
}
string now_minute = new integer(calendar.get(calendar.minute)).tostring(); if (now_minute.length() == 1) { now_minute = "0" + now_minute; }
string now_second = new integer(calendar.get(calendar.second)).tostring(); if (now_second.length() == 1) { now_second = "0" + now_second; }
string str_ampm = ""; //判断上午还是下午 if (am_pm == 0) { str_ampm = "am"; } else if (am_pm == 1) { str_ampm = "pm"; } nowtime = now_month + "/" + now_date + "/" + now_year + " " + now_hour + ":" + now_minute + ":" + now_second + " " + str_ampm;
} catch (exception ex) { nowtime = ex.getmessage();
} return nowtime; }
/** * 将hashtable内容转入数组 * 创建日期:(2001-10-29 8:58:54) * @return java.lang.string * @param param java.util.hashtable * @exception java.lang.exception 异常说明。 */ public string[] hashtoarray(hashtable param) throws java.lang.exception {
if (param.size() == 0) { return null; } string[] return_array = new string[param.size()]; try { int param_size = param.size(); enumeration enumkeys = param.keys(); //将hashtable转换为枚举类型
for (int i = 0; enumkeys.hasmoreelements(); i++) { object temp = enumkeys.nextelement(); return_array[i] = (string) param.get(temp); } } catch (exception ex) { return_array[0] = ex.getmessage(); } return return_array; } }
|
|