/**
* 按字节数来分隔字符串,注意不是字符数
* @param str 要分隔的字符串(可能有中文)
* @param len 字节数
*/
public void splitByByte(String str, int len) {
//如果当前的字符串长度比预计要取的长度还要小,说明已经是字符串最后的一部分直接打印后退出递归
if (str.length() < len) {
System.out.println(str);
return;
}
String temp = "";
int k = 0;
for (int i = 0; i < str.length(); i++) {
// System.out.print(i);
// 得到每个字符的字节数组,如果是汉字就会是2
byte[] bArr = (str.charAt(i) + "").getBytes();
// 累加得到当前字符的字节数
k = k + bArr.length;
// 如果当前字符的字节数已达到可以分割的条件,则跳出循环
if (k > len) {
// 得到剩下的字符串然后重新截取
str = str.substring(i);
break;
}
// 得到当前len字节范围内的字符串
temp = temp + str.charAt(i);
}
System.out.println(temp);
//递归调用处理剩下的字符串
splitByByte(str, len);
}
按字节数来分隔字符串
最新推荐文章于 2022-06-23 10:40:45 发布

1619

被折叠的 条评论
为什么被折叠?



