com.seeyon.ctp.util
类 Strings

java.lang.Object
  继承者 com.seeyon.ctp.util.Strings

public final class Strings
extends java.lang.Object

版本:
1.0 2006-9-8
作者:
Tanmf

字段摘要
static long ONE_GB
          The number of bytes in a gigabyte.
static long ONE_KB
          The number of bytes in a kilobyte.
static long ONE_MB
          The number of bytes in a megabyte.
static java.lang.String REGEX_DECIMAL_EXCLUDEPLUS
           
static java.lang.String REGEX_DIGIT
           
static java.lang.String REGEX_I18NKey
           
static java.lang.String REGEX_NOTCHARACTER
           
static java.lang.String REGEX_WORD
           
 
构造方法摘要
Strings()
           
 
方法摘要
static
<K,V> void
addToMap(java.util.Map<K,java.util.List<V>> map, K k, V v)
           
static
<K,V> void
addToMap1(java.util.Map<K,java.util.ArrayList<V>> map, K k, V v)
           
static
<T> boolean
equals(T obj1, T obj2)
          快速比较两个对象是否相对,主要解决null的问题
static java.lang.String escapeJavascript(java.lang.String str)
          将字符串转换成Javascript,将对\r \n < > & 空格进行转换
static java.lang.String escapeJson(java.lang.String str)
          为json处理特殊字符,将对$&\"\'\n\r\\<>%{}[]进行转换
static
<T> T
escapeNULL(T str, T defaultValue)
          对null处理
static java.lang.String escapeQuot(java.lang.String str)
           
static java.lang.String formatFileSize(long fileSize, boolean isUseMinValue)
          将文件大小格式化输出
如: Strings.formatFileSize(123456L, false) --> 120.47 KB
Strings.formatFileSize(12345678L, false) --> 11.77 MB
Strings.formatFileSize(18L, true) --> 1 KB
Strings.formatFileSize(18L, false) --> 18 B
前端显示采用${v3x:formatFileSize(21433L, true)}
static java.lang.String getBaseContext(javax.servlet.http.HttpServletRequest request)
          得到站点的基础路径+contextPath:http://office.seeyon.com:80/seeyon
static java.lang.String getBaseHref(javax.servlet.http.HttpServletRequest request)
          得到站点的基础路径:http://office.seeyon.com:80
static java.lang.String getCanonicalPath(java.lang.String filepath)
          转换成标准的路径 C:/a/b/c --> C:\a\b\c C:/a/b/c/.. --> C:\a\b C:/a/b/c/../.. --> C:\a C:/a/b/..
static java.lang.String getCanonicalPathAndCreate(java.lang.String filepath)
          转换成标准的路径,同时创建文件夹
static java.lang.String getLimitLengthString(java.lang.String content, int len, java.lang.String symbol)
          得到截取后的字符串
static java.lang.String getLimitLengthString(java.lang.String content, java.lang.String charsetName, int len, java.lang.String symbol)
          得到截取后的字符串
static java.lang.String getRemoteAddr(javax.servlet.http.HttpServletRequest request)
          获取客户端访问的IP地址
static java.lang.String getSafeLimitLengthString(java.lang.String content, int len, java.lang.String symbol)
          按字节长度截取字符串(安全截取)
static java.lang.String[][] getSelectPeopleElements(java.lang.String selectPeopleStr)
          配合选人界面,对选择的人员进行分解 //授权信息 String authInfo = request.getParameter("authInfo"); String[][] authInfos = Strings.getSelectPeopleElements(authInfo); if (authInfos !
static boolean in(java.lang.String src, java.lang.String... terms)
          判断源字符串是否在列出的字符串中。
static boolean isBlank(java.lang.String str)
          检测是否是空字符串, 不允许空格 Strings.isBlank(null) = true Strings.isBlank("") = true Strings.isBlank(" ") = true Strings.isBlank("bob") = false Strings.isBlank(" bob ") = false
static boolean isDecimalExcludePlus(java.lang.String str)
          判断是否是数字,包括-号开始,小数点,小数部分; 整数部分能以0开始,小数部分能以0结尾,整个数字不能以.结尾; 主要用于表单数据校验 34342.02 true 02425.6 true 232.60 true 0.2323 true 00.325 true +656.32 false -233 true -.32 true .32 true
static boolean isDigits(java.lang.String str)
          检测是否为整形数字 Strings.isDigits("1234") = true Strings.isDigits("a123") = false Strings.isDigits(" 123") = false
static boolean isEmpty(java.util.Collection c)
          检测集合是否有数据
static boolean isEmpty(java.lang.String str)
          检测是否是null字符串, 允许空格 Strings.isEmpty(null) = true Strings.isEmpty("") = true Strings.isEmpty(" ") = false Strings.isEmpty("bob") = false Strings.isEmpty(" bob ") = false
static boolean isI18NKey(java.lang.String key)
          是否是标准的国际化资源的key,有数字/字母/下划线/点/横线组成
static boolean isIncludeNotCharacter(java.lang.String str)
          判断是否包括汉字等非字符 isIncludeNotCharacter("234ds,提供电所")=true isIncludeNotCharacter("234ds, ?
static boolean isNotBlank(java.lang.String str)
          检测是否不是空字符串, 不允许空格 Strings.isNotBlank(null) = false Strings.isNotBlank("") = false Strings.isNotBlank(" ") = false Strings.isNotBlank("bob") = true Strings.isNotBlank(" bob ") = true
static boolean isNotEmpty(java.util.Collection c)
           
static boolean isNotEmpty(java.lang.String str)
          检测是否不是null字符串, 允许空格 Strings.isNotEmpty(null) = false Strings.isNotEmpty("") = false Strings.isNotEmpty(" ") = true Strings.isNotEmpty("bob") = true Strings.isNotEmpty(" bob ") = true
static boolean isTrue(java.lang.Boolean b)
           
static boolean isWord(java.lang.String str)
          检测是否为纯单词,只有数字、字母、下划线
static java.lang.String join(java.util.Collection collection, java.lang.String separator)
           
static java.lang.String join(java.lang.String separator, java.lang.String... strings)
           
static java.lang.String joinDelNull(java.lang.String separator, java.lang.String... strings)
          串联字符串,屏蔽参数中的null,''字符
static
<T> java.util.List<T>
newArrayList(T... ts)
          快速构造List,比如: List l = newArrayList("1,2,3,4".split(",")); List l = newArrayList(1, 2, 3, 4); 如果传进来的数组是null,返回一个Empty ArrayList
static
<T> java.util.Set<T>
newHashSet(T... ts)
          快速构造Set,比如: Set l = newHashSet("1,2,3,4".split(",")); Set l = newHashSet(1, 2, 3, 4); 如果传进来的数组是null,返回一个Empty HashSet
static java.lang.String nobreakSpaceToSpace(java.lang.String str)
          将不换行空格(NO-BREAK SPACE,Unicode 0x00a0,UTF-8编码:0xC2A0)替换为普通空格。
static
<T> java.util.List<T>[]
splitList(java.util.List<T> list, int num)
          把一个大List截成多个小List
static boolean startsWith(java.lang.String src, java.lang.String... terms)
          类似in方法,判断字符串是否以一系列字符串开头。
static java.lang.String toHTML(java.lang.String text)
          Filter the specified message string for characters that are sensitive in HTML.
static java.lang.String toHTML(java.lang.String text, boolean isEscapeSpace)
           
static java.lang.String toHTMLAlt(java.lang.String text)
           
static java.lang.String toHTMLescapeRN(java.lang.String text, boolean isEscapeSpace)
           
static java.lang.String toText(java.lang.String text)
          把带有\r\n\t等字符的清理掉,只保留文字;但不转换HTML的标签
只适合于textarea输入的文本,如果是正文编辑器输入的文本请用全文检索的工具 StrExtractor.getHTMLContent(String)
static java.lang.String toXmlStr(java.lang.String srcStr)
           
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

ONE_KB

public static final long ONE_KB
The number of bytes in a kilobyte.

另请参见:
常量字段值

ONE_MB

public static final long ONE_MB
The number of bytes in a megabyte.

另请参见:
常量字段值

ONE_GB

public static final long ONE_GB
The number of bytes in a gigabyte.

另请参见:
常量字段值

REGEX_DIGIT

public static final java.lang.String REGEX_DIGIT
另请参见:
常量字段值

REGEX_WORD

public static final java.lang.String REGEX_WORD
另请参见:
常量字段值

REGEX_I18NKey

public static final java.lang.String REGEX_I18NKey
另请参见:
常量字段值

REGEX_NOTCHARACTER

public static final java.lang.String REGEX_NOTCHARACTER
另请参见:
常量字段值

REGEX_DECIMAL_EXCLUDEPLUS

public static final java.lang.String REGEX_DECIMAL_EXCLUDEPLUS
另请参见:
常量字段值
构造方法详细信息

Strings

public Strings()
方法详细信息

getLimitLengthString

public static java.lang.String getLimitLengthString(java.lang.String content,
                                                    int len,
                                                    java.lang.String symbol)
得到截取后的字符串

参数:
str - 需要截取的字符串
length - 要得到的长度,以byte为单位, 此长度包括symbol的长度
symbol - 用来代替被省略的信息,如“...”、“>>>”等
返回:
抛出:
java.io.UnsupportedEncodingException

getLimitLengthString

public static java.lang.String getLimitLengthString(java.lang.String content,
                                                    java.lang.String charsetName,
                                                    int len,
                                                    java.lang.String symbol)
                                             throws java.io.UnsupportedEncodingException
得到截取后的字符串

参数:
str - 需要截取的字符串
charsetName - 指定的编码
length - 要得到的长度,以byte为单位, 此长度包括symbol的长度
symbol - 用来代替被省略的信息,如“...”、“>>>”等
返回:
抛出:
java.io.UnsupportedEncodingException

getSafeLimitLengthString

public static java.lang.String getSafeLimitLengthString(java.lang.String content,
                                                        int len,
                                                        java.lang.String symbol)
按字节长度截取字符串(安全截取)

参数:
content - 将要截取的字符串参数
len - 截取的字节长度
symbol - 字符串末尾补上的字符串
返回:
返回截取后的字符串

toHTML

public static java.lang.String toHTML(java.lang.String text)
Filter the specified message string for characters that are sensitive in HTML. This avoids potential attacks caused by including JavaScript codes in the request URL that is often reported in error messages.

参数:
message - The message string to be filtered

toHTML

public static java.lang.String toHTML(java.lang.String text,
                                      boolean isEscapeSpace)
参数:
text -
isEscapeSpace - 是否转换空格
返回:

toHTMLescapeRN

public static java.lang.String toHTMLescapeRN(java.lang.String text,
                                              boolean isEscapeSpace)
参数:
text -
isEscapeSpace - 是否转换换行
返回:

toText

public static java.lang.String toText(java.lang.String text)
把带有\r\n\t等字符的清理掉,只保留文字;但不转换HTML的标签
只适合于textarea输入的文本,如果是正文编辑器输入的文本请用全文检索的工具 StrExtractor.getHTMLContent(String)

参数:
text -
返回:

toHTMLAlt

public static java.lang.String toHTMLAlt(java.lang.String text)

escapeNULL

public static <T> T escapeNULL(T str,
                               T defaultValue)
对null处理

类型参数:
T -
参数:
str -
defaultValue -
返回:

formatFileSize

public static java.lang.String formatFileSize(long fileSize,
                                              boolean isUseMinValue)
将文件大小格式化输出
如: Strings.formatFileSize(123456L, false) --> 120.47 KB
Strings.formatFileSize(12345678L, false) --> 11.77 MB
Strings.formatFileSize(18L, true) --> 1 KB
Strings.formatFileSize(18L, false) --> 18 B
前端显示采用${v3x:formatFileSize(21433L, true)}

参数:
fileSize - 单位为字节
isUseMinValue - 是否采用最小值显示,即:最小显示1KB
返回:
抛出:
java.lang.ArithmeticException - fileSize less than zero

join

public static java.lang.String join(java.util.Collection collection,
                                    java.lang.String separator)

join

public static java.lang.String join(java.lang.String separator,
                                    java.lang.String... strings)

joinDelNull

public static java.lang.String joinDelNull(java.lang.String separator,
                                           java.lang.String... strings)
串联字符串,屏蔽参数中的null,''字符

参数:
separator -
strings -
返回:

getSelectPeopleElements

public static java.lang.String[][] getSelectPeopleElements(java.lang.String selectPeopleStr)
配合选人界面,对选择的人员进行分解
 //授权信息
 String authInfo = request.getParameter("authInfo");
 String[][] authInfos = Strings.getSelectPeopleElements(authInfo);
 if (authInfos != null) {
        int i = 0;
        for (String[] strings : authInfos) {
                TempleteAuth auth = new TempleteAuth();
 
                auth.setIdIfNew();
                auth.setAuthType(strings[0]);
                auth.setAuthId(Long.parseLong(strings[1]));
                auth.setSort(i++);
                auth.setTempleteId(templeteId);
 
                templete.getTempleteAuths().add(auth);
        }
 }
 

参数:
selectPeopleStr - 选人后的字符串,如Department|123|4352345,Member|234|23452
返回:
String[][] 第一列是类型,第二列是Id

escapeJavascript

public static java.lang.String escapeJavascript(java.lang.String str)
将字符串转换成Javascript,将对\r \n < > & 空格进行转换

参数:
text -
返回:

escapeQuot

public static java.lang.String escapeQuot(java.lang.String str)

isEmpty

public static boolean isEmpty(java.lang.String str)
检测是否是null字符串, 允许空格
 Strings.isEmpty(null)      = true
 Strings.isEmpty("")        = true
 Strings.isEmpty(" ")       = false
 Strings.isEmpty("bob")     = false
 Strings.isEmpty("  bob  ") = false
 

参数:
str -
返回:

isNotEmpty

public static boolean isNotEmpty(java.lang.String str)
检测是否不是null字符串, 允许空格
 Strings.isNotEmpty(null)      = false
 Strings.isNotEmpty("")        = false
 Strings.isNotEmpty(" ")       = true
 Strings.isNotEmpty("bob")     = true
 Strings.isNotEmpty("  bob  ") = true
 

参数:
str -
返回:

isBlank

public static boolean isBlank(java.lang.String str)
检测是否是空字符串, 不允许空格
 Strings.isBlank(null)      = true
 Strings.isBlank("")        = true
 Strings.isBlank(" ")       = true
 Strings.isBlank("bob")     = false
 Strings.isBlank("  bob  ") = false
 

参数:
str -
返回:

isEmpty

public static boolean isEmpty(java.util.Collection c)
检测集合是否有数据

参数:
c -
返回:

isNotEmpty

public static boolean isNotEmpty(java.util.Collection c)

isNotBlank

public static boolean isNotBlank(java.lang.String str)
检测是否不是空字符串, 不允许空格
 Strings.isNotBlank(null)      = false
 Strings.isNotBlank("")        = false
 Strings.isNotBlank(" ")       = false
 Strings.isNotBlank("bob")     = true
 Strings.isNotBlank("  bob  ") = true
 

参数:
str -
返回:

isDigits

public static boolean isDigits(java.lang.String str)
检测是否为整形数字
 Strings.isDigits("1234")    = true
 Strings.isDigits("a123")    = false
 Strings.isDigits(" 123")    = false
 

参数:
str -
返回:

isTrue

public static boolean isTrue(java.lang.Boolean b)

isWord

public static boolean isWord(java.lang.String str)
检测是否为纯单词,只有数字、字母、下划线

参数:
str -
返回:

isI18NKey

public static boolean isI18NKey(java.lang.String key)
是否是标准的国际化资源的key,有数字/字母/下划线/点/横线组成

参数:
key -
返回:

getCanonicalPath

public static java.lang.String getCanonicalPath(java.lang.String filepath)
转换成标准的路径
 C:/a/b/c           -->  C:\a\b\c
 C:/a/b/c/..        -->  C:\a\b
 C:/a/b/c/../..     -->  C:\a
 C:/a/b/../c        -->  C:\a\c
 C:/../a/b/../c     -->  C:\a\c
 

参数:
filepath -
返回:

getCanonicalPathAndCreate

public static java.lang.String getCanonicalPathAndCreate(java.lang.String filepath)
转换成标准的路径,同时创建文件夹

参数:
filepath -
返回:
另请参见:
getCanonicalPath(String)

getBaseHref

public static java.lang.String getBaseHref(javax.servlet.http.HttpServletRequest request)
得到站点的基础路径:http://office.seeyon.com:80

参数:
request -
返回:

getBaseContext

public static java.lang.String getBaseContext(javax.servlet.http.HttpServletRequest request)
得到站点的基础路径+contextPath:http://office.seeyon.com:80/seeyon

参数:
request -
返回:

getRemoteAddr

public static java.lang.String getRemoteAddr(javax.servlet.http.HttpServletRequest request)
获取客户端访问的IP地址

参数:
request -
返回:

toXmlStr

public static java.lang.String toXmlStr(java.lang.String srcStr)

isIncludeNotCharacter

public static boolean isIncludeNotCharacter(java.lang.String str)
判断是否包括汉字等非字符 isIncludeNotCharacter("234ds,提供电所")=true isIncludeNotCharacter("234ds, ?\\ff3")=false

参数:
str -
返回:

isDecimalExcludePlus

public static boolean isDecimalExcludePlus(java.lang.String str)
判断是否是数字,包括-号开始,小数点,小数部分; 整数部分能以0开始,小数部分能以0结尾,整个数字不能以.结尾; 主要用于表单数据校验 34342.02 true 02425.6 true 232.60 true 0.2323 true 00.325 true +656.32 false -233 true -.32 true .32 true

参数:
str -
返回:

addToMap1

public static <K,V> void addToMap1(java.util.Map<K,java.util.ArrayList<V>> map,
                                   K k,
                                   V v)
类型参数:
K -
V -
参数:
map -
k -
v -

addToMap

public static <K,V> void addToMap(java.util.Map<K,java.util.List<V>> map,
                                  K k,
                                  V v)

nobreakSpaceToSpace

public static java.lang.String nobreakSpaceToSpace(java.lang.String str)
将不换行空格(NO-BREAK SPACE,Unicode 0x00a0,UTF-8编码:0xC2A0)替换为普通空格。 用于避免因数据库字符集不兼容导致这个字符变为问号“?”的情况。


splitList

public static <T> java.util.List<T>[] splitList(java.util.List<T> list,
                                                int num)
把一个大List截成多个小List

类型参数:
T -
参数:
list -
num - 必须大于1
返回:

escapeJson

public static java.lang.String escapeJson(java.lang.String str)
为json处理特殊字符,将对$&\"\'\n\r\\<>%{}[]进行转换

参数:
str - 想要转换的正常字符串
返回:
Unicode编码字符串(16进制)

newArrayList

public static <T> java.util.List<T> newArrayList(T... ts)
快速构造List,比如:
 List l = newArrayList("1,2,3,4".split(","));
 List l = newArrayList(1, 2, 3, 4);
 
如果传进来的数组是null,返回一个Empty ArrayList

类型参数:
T -
参数:
ts -
返回:

newHashSet

public static <T> java.util.Set<T> newHashSet(T... ts)
快速构造Set,比如:
 Set l = newHashSet("1,2,3,4".split(","));
 Set l = newHashSet(1, 2, 3, 4);
 
如果传进来的数组是null,返回一个Empty HashSet

类型参数:
T -
参数:
ts -
返回:

equals

public static <T> boolean equals(T obj1,
                                 T obj2)
快速比较两个对象是否相对,主要解决null的问题

类型参数:
T -
参数:
obj1 -
obj2 -
返回:

in

public static boolean in(java.lang.String src,
                         java.lang.String... terms)
判断源字符串是否在列出的字符串中。 ("3".equals(productId) || "4".equals(productId) || "7".equals(productId) 可以简写为 in(productId,"3","4","7")

参数:
src - 进行比较的字符串
terms - 字符串列表
返回:
源String与列表中任一String equals则返回true。

startsWith

public static boolean startsWith(java.lang.String src,
                                 java.lang.String... terms)
类似in方法,判断字符串是否以一系列字符串开头。 如startsWith(name,"ctp.index.","ca.","ldap.","videoconference.")

参数:
src - 进行比较的字符串
terms - 字符串列表
返回:
任一字符串为源字符串的前缀则返回true。