package com.blue.util;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.log4j.Logger;
/**
* 处理字符串的工具类。
*/
public class StringTools {
private static Logger log = Logger.getLogger(StringTools.class);
/**
* 把字符串分割成二维数组,使用 & | 分割。支持每一行列数不相同,用于小规模的分割。
*
* @param value
* 需要分割的字符串
* @return 分割后的数组
* @roseuid 3C85E0430185
*/
public static String[][] parse2Ds(String value) {
List total = new ArrayList();
int index1, index2;
index1 = 0;
index2 = value.indexOf("&", index1);
String temp1;
List temp2;
int i1, i2;
boolean breakTime = false;
while (true) {
if (index2 == -1) {
breakTime = true;
temp1 = value.substring(index1);
} else {
temp1 = value.substring(index1, index2);
}
i1 = 0;
i2 = temp1.indexOf("|", i1);
temp2 = new ArrayList();
while (i2 != -1) {
temp2.add(temp1.substring(i1, i2));
i1 = i2 + 1;
i2 = temp1.indexOf("|", i1);
}
temp2.add(temp1.substring(i1));
total.add(convert1D(temp2));
if (breakTime) {
break;
}
index1 = index2 + 1;
index2 = value.indexOf("&", index1);
}
return convert2D(total);
}
/**
* 把字符串分割成二维int数组,使用 & | 分割。支持每一行列数不相同,用于小规模的分割。
*
* @param value
* 需要分割的字符串
* @return 分割后的数组
* @roseuid 3C85E0430185
*/
public static int[][] parse2Di(String value) {
String[][] temp = parse2Ds(value);
if (temp == null) {
return null;
}
int[][] intTemp = new int[temp.length][];
int length;
for (int i = 0; i < temp.length; i++) {
length = temp[i].length;
if (length == 1 && temp[i][0].length() == 0) {
continue;
}
intTemp[i] = new int[length];
for (int j = 0; j < length; j++) {
intTemp[i][j] = Integer.parseInt(temp[i][j]);
}
}
return intTemp;
}
/**
* 把字符串分割成数组,使用 inDivider outDivider 分割。
*
* @param value
* 需要分割的字符串
* @param outDivider
* 外分割符
* @param inDivider
* 内分割符
* @return 分割后的数组
*/
// public static String[][] parse2D(String value, String outDivider,
// String inDivider) {
// DevideStr devideStr = new DevideStr(value);
// return devideStr.DevideTwoStr(outDivider, inDivider);
// }
/**
* 把数组组合成字符串,使用& 分割。
*
* @param value
* 需要组合的数组
* @return 组合后的字符串
* @roseuid 3C85E082021C
*/
public static String assemble(String[] value) {
if (value == null || value.length == 0) {
return "";
}
StringBuffer temp = new StringBuffer();
for (int i = 0; i < value.length; i++) {
temp.append(value[i]);
temp.append('&');
}
temp.deleteCharAt(temp.length() - 1);
return temp.toString();
}
/**
* 把数组组合成字符串,使用 &,| 分割。
*
* @param value
* 需要组合的数组
* @return 组合后的字符串
* @roseuid 3C85E08E0219
*/
public static String assemble(String[][] value) {
if (value == null || value.length == 0 || value[0] == null
|| value[0].length == 0) {
return "";
}
StringBuffer temp = new StringBuffer();
for (int i = 0; i < value.length; i++) {
for (int j = 0; j < value[i].length; j++) {
temp.append(value[i][j]);
temp.append('|');
}
temp.deleteCharAt(temp.length() - 1);
temp.append('&');
}
temp.deleteCharAt(temp.length() - 1);
return temp.toString();
}
/**
* 把 value1 和 value2 的列合并起来。
*
* @param value1
* 被合并的数组
* @param value2
* 被合并的数组
* @return 合并后的数组
* @roseuid 3C85E13003A3
*/
public static String[][] combine(String[] value1, String[] value2) {
return null;
}
/**
* 把 value1 和 value2 的列合并起来。
*
* @param value1
* 被合并的数组
* @param value2
* 被合并的数组
* @return 合并后的数组
* @roseuid 3C85E3C70284
*/
public static String[][] combine(String[] value1, String[][] value2) {
return null;
}
/**
* 把 value1 和 value2 的列合并起来。
*
* @param value1
* 被合并的数组
* @param value2
* 被合并的数组
* @return 合并后的数组
* @roseuid 3C85E17A0088
*/
public static String[][] combine(String[][] value1, String[][] value2) {
return null;
}
/**
* 把 value1 和 value2 的行相加起来。
*
* @param value1
* 被相加的数组
* @param value2
* 被相加的数组
* @return 相加后的数组
* @roseuid 3C85E31C03AA
*/
public static String[] join(String[] value1, String[] value2) {
return null;
}
/**
* 把 value1 和 value2 的行相加起来。
*
* @param value1
* 被相加的数组
* @param value2
* 被相加的数组
* @return 相加后的数组
* @roseuid 3C85E37E02D9
*/
public static String[][] join(String[][] value1, String[][] value2) {
return null;
}
/**
* 把列表转换成字符串数组,列表中存放的是String对象。
*
* @param list
* 列表
* @return 转换后的字符串数组
*/
public static String[] convert1D(Collection list) {
if (list.size() == 0) {
return null;
}
Iterator it = list.iterator();
String[] result = new String[list.size()];
for (int i = 0; it.hasNext(); i++) {
result[i] = (String) it.next();
}
return result;
}
/**
* 把列表转换成字符串二维数组,列表中存放的是String[]对象。
*
* @param list
* 列表
* @return 转换后的字符串二维数组
*/
public static String[][] convert2D(Collection list) {
if (list == null || list.size() == 0) {
return null;
}
Iterator it = list.iterator();
String[][] result = new String[list.size()][];
for (int i = 0; it.hasNext(); i++) {
result[i] = (String[]) it.next();
}
return result;
}
/**
* 将字符串中的&换为回车换行,将|换为tab键,在将字符串下载到客户端的文件中时, <br>
* 使用该函数对其做转换 <br>
*
* @param data
* String <br>
* @return String,转换后的字符串 <br>
*/
public static String convertStringToDownLoad(String data) {
if (data == null || data.equals("")) {
return data;
}
StringBuffer sbData = new StringBuffer(data);
int iPos = 0;
while (iPos < sbData.length()) {
if (sbData.charAt(iPos) == '|') {
sbData.replace(iPos, iPos + 1, "\t");
iPos++;
}
else if (sbData.charAt(iPos) == '&') {
sbData.replace(iPos, iPos + 1, "\r\n");
iPos += 2;
} else {
iPos++;
}
}
return sbData.toString();
}
public static Collection arrayToCollection(Object[] value) {
if (value == null) {
return null;
}
Collection result = new ArrayList();
for (int i = 0; i < value.length; i++) {
if (value[i] instanceof Object[]) {
result.add(arrayToCollection((Object[]) value[i]));
} else {
result.add(value[i]);
}
}
return result;
}
/**
* 从集合里面取出一维数组的某几列,放在集合中的集合。
*/
public static Collection selectColumns(Collection value, String index) {
if (value == null || value.size() == 0 || index == null
|| index.length() == 0) {
return null;
}
int[] indexes = StringTools.parse2Di(index)[0];
Collection result = new ArrayList();
Iterator it = value.iterator();
Object[] o;
Collection n;
while (it.hasNext()) {
o = (Object[]) it.next();
n = new ArrayList();
for (int i = 0; i < indexes.length; i++) {
n.add(o[indexes[i]]);
}
result.add(n);
}
return result;
}
/**
* 从集合里面取出一维数组的某几列,合并之后放在集合中。
*/
public stati
没有合适的资源?快使用搜索试试~ 我知道了~
axis1资料整理
共82个文件
jar:31个
java:16个
class:14个
需积分: 3 11 下载量 51 浏览量
2008-06-29
13:08:02
上传
评论
收藏 8.01MB RAR 举报
温馨提示
是从网上下载的资源,经修改后,可用来生成webservice客户端和服务端.工程可用,需在本地修改.
资源推荐
资源详情
资源评论
收起资源包目录
webservice-example.rar (82个子文件)
webservice-example
.project 1KB
deploy.wsdd 709B
.settings
org.eclipse.jdt.ui.prefs 99B
org.eclipse.jdt.core.prefs 633B
.mymetadata 327B
WebRoot
WEB-INF
web.xml 2KB
jsp
testjavascript
javascript1.jsp 548B
lib
commons-pool-1.1.jar 39KB
commons-fileupload-1.0.jar 22KB
commons-logging.jar 31KB
axis.jar 1.53MB
activation.jar 53KB
commons-dbcp-1.1.jar 98KB
commons-beanutils.jar 116KB
axis-ant.jar 32KB
village-2.0-dev-20030825.jar 30KB
saaj.jar 19KB
log4j-1.2.15.jar 383KB
mailapi_1_3_1.jar 171KB
commons-logging-1.0.4.jar 37KB
xml-apis.jar 122KB
jaxrpc.jar 30KB
commons-collections-3.0.jar 506KB
commons-beanutils-1.7.0.jar 184KB
commons-collections-3.1.jar 546KB
wsdl4j-1.5.1.jar 124KB
torque-3.2.jar 179KB
commons-fileupload-1.2.1.jar 56KB
commons-lang-2.1.jar 203KB
commons-jexl-1.0.jar 119KB
commons-dbcp-1.2.2.jar 119KB
classes12.jar 1.14MB
commons-configuration-1.1.jar 121KB
commons-pool-1.2.jar 41KB
commons-lang-2.0.jar 166KB
xercesImpl.jar 987KB
spring.jar 1.79MB
commons-discovery-0.2.jar 70KB
classes
log4j.properties.bak 2KB
log4j.properties 2KB
deploy.wsdd 709B
common.properties 0B
com
blue
dao
WebService.class 2KB
servlet
InitServlet.class 3KB
dto
ServiceDTO.class 1KB
ResponseDTO.class 838B
upload
client
WEBServerServiceLocator.class 5KB
ResponseDTO.class 4KB
WEBServer_PortType.class 297B
WEBServerService.class 407B
WEBServerSoapBindingStub.class 9KB
service
WEBServer.class 2KB
Test
TestWEBService.class 1KB
util
FileUtils.class 4KB
MD5.class 1KB
StringTools.class 13KB
torque.propreties 3KB
META-INF
MANIFEST.MF 39B
startCRMServer.bat 250B
.myeclipse
crm_wsdl2JavaLocal.bat 294B
src
log4j.properties.bak 2KB
log4j.properties 2KB
deploy.wsdd 709B
common.properties 0B
com
blue
dao
WebService.java 2KB
servlet
InitServlet.java 3KB
dto
ServiceDTO.java 648B
ResponseDTO.java 546B
upload
UploadServlet.java 4KB
client
WEBServerServiceLocator.java 5KB
WEBServerService.java 539B
ResponseDTO.java 5KB
WEBServerSoapBindingStub.java 9KB
WEBServer_PortType.java 390B
service
WEBServer.java 962B
Test
TestWEBService.java 795B
util
DBUtils.java 9KB
MD5.java 730B
FileUtils.java 4KB
StringTools.java 22KB
torque.propreties 3KB
.classpath 3KB
共 82 条
- 1
资源评论
蓝色羽毛1
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功