zoukankan      html  css  js  c++  java
  • java判断输出字符串个数,并将截取字符以"..."代替

    public class teast {
    private String str;
    private int counterOfDoubleByte;
    private byte b[];

    /**
    * 置需要被限制度的字符串
    * @param str 需要被限制度的字符串
    */
    public teast(String str) {
    this.str = str;
    }
    public static void main(String[] args) throws Exception {
    String name="java_mature";
    teast str = new teast(name);
    String afterStr = str.getLimitLengthString(8,"...");
    System.err.println(afterStr);
    }

    /**
    * @param len 需要示的(注意:度是以byte为单位的,一个汉字是2byte)
    * @param symbol 用于表示省略的信息的字符,如“...”,“>>>”等。
    * @return 返回理后的字符串
    */
    public String getLimitLengthString(int len, String symbol) throws Exception{
    counterOfDoubleByte = 0;
    b = str.getBytes("GBK");
    if (b.length <= len)
    return str;
    for (int i = 0; i < len; i++) {
    if (b[i] < 0)
    counterOfDoubleByte++;
    }

    if (counterOfDoubleByte % 2 == 0)
    return new String(b, 0, len, "GBK") + symbol;
    else
    return new String(b, 0, len - 1, "GBK") + symbol;
    }
    }
  • 相关阅读:
    N、Z、Q、R 分别代表什么
    Android常用代码-监听网络状态
    完整的android use SSL发送邮件
    android 发送邮件相关文章
    Spring RMI的实现原理
    spring+quartz配置
    Quartz配置表达式
    singleton容器
    Spring学习-框架概览
    [Shader2D]漩涡效果
  • 原文地址:https://www.cnblogs.com/yangsanluo/p/14992875.html
Copyright © 2011-2022 走看看