详细举例:
cur为当前位置,
String s1,s2;
StringBuffer s;
在一个循环中:
s1=String.substring(cur,cur+30);
尔后,s.append(s1);
出了循环后,s2=new String(s);
结果一行打出三十个汉字。
但当前面加上一个空格时,index的异常抛出,在60处,说明是双字节啊。
cur为当前位置,
String s1,s2;
StringBuffer s;
在一个循环中:
s1=String.substring(cur,cur+30);
尔后,s.append(s1);
出了循环后,s2=new String(s);
结果一行打出三十个汉字。
但当前面加上一个空格时,index的异常抛出,在60处,说明是双字节啊。
解决方案 »
- udp访问路由(另一个局域网)下的电脑
- lucene搜索引擎的用法
- 如何用JAVA实现这个盒子?
- 推荐一个类似excel界面的开源Grid 控件(java版本)
- 一个nec的笔试题3*3的方格钟填入n(n>=10)内的某9个互不相关的整数,使得所有相邻的方格内的整数之和为质数
- 有关Integer类对象作用于 >= <= 的问题.
- 什么叫重量级和轻量级,粗粒度(Coarse-grained)和细粒度(fine-grained)区别又在哪?
- setBorder函数和BorderFactory类的问题!
- 谁能帮我解释一下这段代码的各句的意思!!!!!!!!!!
- java如何画虚线。
- 关于package问题?
- 简单问题
我已经搞定了,方法贴在这里仅供大家留作参考
用于转化的类是这样的:
import sun.io.*;public class StringFormat {
public StringBuffer s;
public String encoding="gb2312";
byte[] b;char[] c;
public StringFormat() {
s=new StringBuffer();
}
public String addBr(String s1){
String temp,s2;
try{
b=s1.getBytes();
c=ByteToCharConverter.getConverter(encoding).convertAll(b);
}
catch(Exception e){System.out.print("ad:convert exception:"+e.getMessage());}
int leng=c.length;
int cur;
for(cur=0;cur<leng;cur++)
{
s.append(c[cur]);
int a=cur % 30;
if(a==0&&cur>0)s.append("<br>");
}
s.append("<br>");
s2=new String(s);
return s2;
}
}
大家还有更好的方法吗?
你可以自己试一下,我试过了。
比如我的输入如果是
大家好。
欢迎来到论坛。
则显示:
大家好。欢迎来到论坛。如果是:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
经过刚才写的过滤则显示为:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
如果是英文,比如
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
不经过过滤,则为
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(显示在同一行中)
我星期六早晨就交公了,现在遇到这种问题,急啊。
那位能帮一下
感激不尽。
public static String transform(String content)
{
contentnew=rs.replaceAll("&","&");
contentnew=rs.replaceAll("<","<");
contentnew=rs.replaceAll(" "," ");
contentnew=rs.replaceAll(">",">");
contentnew=rs.replaceAll("\n","<br>");
return content
}
处理一下,不用再分行或其它的处理.
适用JDK1.4及以上,JDK1.4以下写一个replaceAll的方法换一下.