按字节分割字符串
后台数据库有时不能使用CLOB存储数据的时候,而当字段长度很长时,需要将导入报表的的长字符串分割为更小的字符串存到多个字段中,这时如果使用substring的话,字符串中的中文情况下,由于数据库字符类型存储字节数的限制,以oracle的varchar2为例,长度最长为4000字节,会造成字段长度不够的异常。这时需要以字节为单位分割字符串。
代码如下:
private List<String> splitStringToListByByte(String srcStr, int byteLimit) throws Exception{
List<String> strList = new ArrayList<String>();
int startIndex = 0;
int strLength = srcStr.length();
int endIndex