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

遇到原字符串中本来就有的换行符,则字节长度重新再按照116个字节添加一个换行符号。... 遇到原字符串中本来就有的换行符,则字节长度重新再按照116个字节添加一个换行符号。 展开
 我来答
fuhaiwei
2012-06-08 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1389万
展开全部
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
百度网友48a78a5
2012-06-08
知道答主
回答量:16
采纳率:0%
帮助的人:7.6万
展开全部
那要是本来第118个字节是换行符应该怎么处理?
是在116个字节处加换行符,然后隔2个字节又是换行符(原来的)吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mcoldice
2012-06-08 · 超过32用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:81.2万
展开全部
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());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式