一个String类型的json字符串存入数据库,数据库中value1字段使vachar2(2000),value2、value3、value4...,把String字符串分段存入数据库中

//输入是一个json串,如果大于2000个字节就把2000个字节存到value1中。如果小于2000个字节就直接存到value1//返回的是存入数据库中的字符串
//算法思想:每截10个字符串长度就判断getBytes()是否大于2000个字节,数据库中vachar2(2000),
//2000指的是字节个数
public static String stringSub(String json) throws UnsupportedEncodingException {

    int a = 0;
    int b = 10;
    StringBuffer str = new StringBuffer("");
    System.out.println(json.getBytes("gbk").length);
    //如果json的字节数少于2000,那么直接把json串存入到返回。
    if (json.getBytes("gbk").length > 2000) {
        while (true) {
            if (str.toString().getBytes("gbk").length < 2000) {
                str.append(json.substring(a, b));
                a += 10;
                b += 10;
            } else {
                String str2 = str.substring(0, str.length() - 10);
                return str2;
            }
        }
    }
    return json;
}

你可能感兴趣的:(java基础,算法)