很简单的,这种问题自己动动脑吧!!!
用subString()

解决方案 »

  1.   

    先把它转换成CharArry[],然后每到60个就合并成一个字符串,java本身就是基于Unicode码的。就是2bit 来表示一个字符。所以不会出现中文字分开的现象。
      

  2.   

    我给你写一个吧,看看行不行import java.util.*;class ExtractC
    {
    static String s = 
    "中文字符串!!字符串!!中文字符串!!中文字符中文字符串!!abcdef";//

    public static void main(String[] args)
    {
    new ExtractC().extract(s);
    } public Vector extract(String source)//source为要处理的字符串
    {
    Vector vResult = new Vector();
    int length = source.length();
    int interval = 60;//需要截取的字符串长度
    int count; 
    if(length%interval == 0)
    count = length/interval;
    else
    count = length/interval + 1;
    for(int i=0; i<count; i++)
    {
    int start = i*interval;
    int end;
    if(i<count-1)
    end = (i+1)*interval;
    else
    end = length;
    vResult.add(source.substring(start, end));
    } //输出结果
    for(int i=0; i<count; i++)
    {
    String s = (String)vResult.elementAt(i);
    System.out.println(s);
    }
    //结果保存在Vector类型的变量中,返回结果
    return vResult;
    }
    }
      

  3.   

    public static void main(String[] args) {
            String in="士大夫撒旦犯得上反对是深刻搭街坊勒克司大家阿里山激发寄生蜂历史里脚手分厘卡撒里脚手分厘卡撒解放了分列式的123456789012345678";
            int slen=60,len=in.length(),flag;
            flag=(len%slen==0)?0:1;
            String[] out=new String[len/slen+flag];
            for(int i=0;i<len/slen+1;i++){
                if(i==len/slen){
                    if(flag==1)out[i]=in.substring(i*slen,len);
                }
                else{
                    out[i]=in.substring(i*slen,(i+1)*slen);
                }
            }
            for(int j=0;j<out.length;j++){
                System.out.println(out[j]);
            }
        }