import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.reflect.Field;
import java.util.List;
import com.sdp.core.config.Bs;
import jodd.util.StringUtil;
/**
* 字符串操作工具类
* @author Administrator
*
*/
public abstract class Str {
/**
* 获取UTF-8编码字符串
* @return
*/
public static String encodeUTF8(String str){
String result = "";
try {
if(StringUtil.isEmpty(str)){
throw new Exception("转码字符串不能为空!");
}
result = new String(str.getBytes("ISO-8859-1"),Bs.Common.ENCODE_TYPE);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取UTF-8编码字符串
* @return
*/
public static String encodeISO88591(String str){
String result = "";
try {
if(str.isEmpty()){
throw new Exception("转码字符串不能为空!");
}
result = new String(str.getBytes(Bs.Common.ENCODE_TYPE),"ISO-8859-1");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取系统错误信息
* @param t
* @return
*/
public static String getStackTrace(Throwable t) {
if(t != null){
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
try {
t.printStackTrace(pw);
return sw.toString();
} finally {
pw.close();
}
}
return null;
}
/**
* 获取模糊查询字符串
* @param t
* @return
*/
public static String getLikeAfter(String str) {
if(StringUtil.isEmpty(str)){
return "%";
}else{
return str + "%";
}
}
/**
* 获取模糊查询字符串
* @param t
* @return
*/
public static String getLike(String str) {
if(StringUtil.isEmpty(str)){
return "%";
}else{
return "%" + str + "%";
}
}
/**
* 将list集合拼接成'字符串'
* @param lists String类型集合
* @return
*/
public static String getListPropStr(List<String> lists){
String paramStrs = "";
for(String param:lists){
paramStrs += "'"+param.toString()+"',";
}
if(paramStrs.length()>0)
paramStrs = paramStrs.substring(0,paramStrs.length()-1);
return paramStrs;
}
/**
* 将list集合拼接成'字符串'
* @param lists Object对象集合
* @return
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static <T> String getListPropStr(List<T> lists,String prop) throws Exception{
String paramStrs = "";
String value = "";
for(T t:lists){
Field[] fields = t.getClass().getDeclaredFields();
for(Field field : fields){
if(field.getName().equals(prop)){
field.setAccessible(true);
value = (String) field.get(t);
paramStrs += "'"+value+"',";
break;
}
}
}
if(paramStrs.length()>0)
paramStrs = paramStrs.substring(0,paramStrs.length()-1);
return paramStrs;
}
}