写一个程序获得字窜的占位长度,主要时判断该字符时不是ASCII
int getLenth(String str){
  int size = 0;
  for(int i = 0;i<str.lenth;i++){
     if(str.getAt(i)>255){//忘了式哪个函数了!
         size++;
     }
    size++;
  }
return size;
}

解决方案 »

  1.   

    接:
        public static String stringLengthFixed(String string,int len){
            String buffer = null;
            byte[] byteStr = string.getBytes();
            if(byteStr.length < len){
                StringBuffer sb = new StringBuffer(len - byteStr.length);
                for(int i = 0; i < (len - byteStr.length)/2; i++)
                    sb.append("...");
                buffer = string + sb.toString();
            }else{
                buffer = new String(byteStr,0,len);
                if(buffer.length() == 0) {
    buffer = new String(byteStr,0,len-1);
    buffer = buffer.concat(".");
    }
    buffer = buffer.concat("...");
            }
            return buffer;
        }稍微改一下就可以了。
    你自己测试吧。