java读取出来了一段字符串,里面包含多个换行符,现在我需要每隔116个字节来添加一个换行符

遇到原字符串中本来就有的换行符,则字节长度重新再按照116个字节添加一个换行符号。

public class Check {
public static void main(String[] args) {
String s = new String(
"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
System.out.println(check(s));
}

public static String check(String s) {
StringBuilder sb = new StringBuilder(s);
int count = 0;
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '\n') {
count = 0;
} else if (count == 116) {
sb.insert(i, "\n");
count = 0;
} else {
count++;
}
}
return sb.toString();
}
}

//结果是
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
78901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
34567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
90123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234
5678901234567890123456789012345678901234567890
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-08
那要是本来第118个字节是换行符应该怎么处理?
是在116个字节处加换行符,然后隔2个字节又是换行符(原来的)吗?
第2个回答  2012-06-08
String s = "abcd;ljas;dv1235\n6qweq";
int len = s.length();
StringBuffer stb = new StringBuffer();
for(int i=0,pos=1; i<len; i++,pos++) {
char c = s.charAt(i);
if(c == '\n') pos = 0;
stb.append(c);
if(pos>=116) {
pos = 0;
stb.append("\n");
}
}
System.out.println(stb.toString());
相似回答