62,623
社区成员
发帖
与我相关
我的任务
分享
class SplitString
{
String SplitStr;
int SplitByte;
public SplitString(String str,int bytes)
{
SplitStr=str;
SplitByte=bytes;
System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);
}
public void SplitIt()
{
int loopCount;
loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split
Byte+1);
System.out.println("Will Split into "+loopCount);
for (int i=1;i<=loopCount ;i++ )
{
if (i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
} else {
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
}
}
}
public static void main(String[] args)
{
SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人
0ewldfls=103",4);
ss.SplitIt();
}
}
/**
* 按字节分割字串, 例如以每10个字节为一段
* @param resourceStr String 原字符串
* @param byteCntPerUnit int 每单位字节数
* @return ArrayList 返回切分后的list
*/
public static ArrayList splitStringByByte(String resourceStr, int byteCntPerUnit) {
ArrayList list = new ArrayList();
String tmpStr = null;
int strLength = resourceStr.length();
int currentIndex = 0;
int lastEndIndex = 0;
while (lastEndIndex < strLength - 1) {
for (currentIndex = lastEndIndex; currentIndex < strLength; currentIndex++) {
tmpStr = resourceStr.substring(lastEndIndex, currentIndex + 1);
if (tmpStr.getBytes().length > byteCntPerUnit) {
break;
}
}
tmpStr = resourceStr.substring(lastEndIndex, currentIndex);
list.add(tmpStr);
lastEndIndex = currentIndex;
}
return list;
}