转义特殊字符

package common;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
/**
* 改变特殊字符
*
*/
public class ChangeTSChar {

private static String EncodeString(String inputContent)
{
//转义 单引号 .
inputContent = inputContent.replaceAll("'", "’");
// //转义 反斜杠 .
// inputContent = inputContent.replaceAll("\"", """);
// //转义 小于号 .
// inputContent = inputContent.replaceAll("<", "<");
// //转义 大于号 .
// inputContent = inputContent.replaceAll(">", ">");
// //转义 换行符 .
// inputContent = inputContent.replaceAll("\n", "<br>");
// //转义 空格 .
// inputContent = inputContent.replaceAll(" ", " ");

//返回 编码转换后的字符串.
return inputContent;
}

private static String DecodeString(String selectContent)
{
//转义 单引号 .
selectContent = selectContent.replaceAll("’", "'");
// //转义 反斜杠 .
// selectContent = selectContent.replaceAll(""", "\"");
// //转义 小于号 .
// selectContent = selectContent.replaceAll("<", "<");
// //转义 大于号 .
// selectContent = selectContent.replaceAll(">", ">");
// //转义 换行符 .
// selectContent = selectContent.replaceAll("<br>", "\n");
// //转义 空格 .
// selectContent = selectContent.replaceAll(" ", " ");

//返回 编码转换后的字符串.
return selectContent;
}

@SuppressWarnings("unchecked")
private static void excute(Object obj,String type)throws Exception{
Class objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
boolean flag1 = true;
boolean flag2 = true;
for(Field methodname:fields){

String getmethodName = "get"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
String setmethodName = "set"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
Method [] getMethods = obj.getClass().getMethods();
Method [] setMethods = obj.getClass().getMethods();
for(int i=0;i<getMethods.length;i++){
if(getMethods[i].getName().equals(getmethodName)){
flag1 = false;
break;
}else{
flag1 = true;
}
}
for(int i=0;i<setMethods.length;i++){
if(setMethods[i].getName().equals(setmethodName)){
flag2 = false;
break;
}else{
flag2 = true;
}
}

if(flag1||flag2){
continue;
}else if(!"class java.lang.String".equals(methodname.getType().toString())){
continue;
}
Method getMethod = obj.getClass().getMethod(getmethodName, new Class[]{});
Method setMethod = obj.getClass().getMethod(setmethodName, new Class[]{methodname.getType()});
String value = (String)getMethod.invoke(obj, new Object[]{});
if(value != null){
if(type!=null&&type.equals("encode")){
value = EncodeString(value);
}else if(type!=null&&type.equals("decode")){
value = DecodeString(value);
}

setMethod.invoke(obj, new Object[]{value});
}
}
}
/**
* 将特殊字符转换成默认字符
* @param obj
*/
public static void encode(Object obj){
if(obj == null){
return ;
}
try {
excute(obj, "encode");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将默认字符转换成特殊字符
* @param obj
*/
public static void decode(Object obj){
if(obj == null){
return;
}
try {
excute(obj, "decode");
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 解译
* @param list
*/
public static void decodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
decode(object);
}
}
}

/**
* 转译
* @param list
*/
public static void encodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
encode(object);
}
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值