分享一下以前坛里收集的工具类(方法),希望大家一起来共享下,方便以后使用
/**
* 中文乱码转换
* @param str
* @return
*/
public String getChinese(String str){
try {
str = new String(str.getBytes("ISO8859_1"),"GBK");
return str;
} catch (Exception e) {
return str;
}
}
/**
* 获取字符串内的中文
* @param str
* @return
*/
public String getChineseCode(String str){
try {
StringBuffer bf = new StringBuffer();
char[] chars = str.toCharArray();
for (int i=0;i <chars.length;i++) {
if(chars[i]>127){
bf.append(chars[i]);
}
}
String str2 = bf.toString();
return str2;
} catch (Exception e) {
return "";
}
}
/**
* 获取字符串内指定长度的中文内容
* @param str
* @param size
* @return
*/
public String getChineseCode(String str,int size){
try {
StringBuffer bf = new StringBuffer();
char[] chars = str.toCharArray();
for(int i=0;i <chars.length;i++) {
if(chars[i]>127){
bf.append(chars[i]);
if(bf.length()>=size){
return bf.toString();
}
}
}
return bf.toString();
} catch (Exception e) {
return "";
}
}
/**
* 字符串长度
*/
public String getCutString(String str,int size){
try {
if(str.length()>size){
str = str.substring(0, size);
}
return str;
} catch (Exception e) {
return str;
}
}
/**
* 更换回车符号
*/
public String checkBR(String message){
try {
message = message.replaceAll("\n", "<BR>");
message = message.replaceAll("\r", "");
return message;
} catch (Exception e) {
System.out.println(e.toString());
return message;
}
}
public String ToSBC(String input)
{
//半角转全角:
char[] c=input.toCharArray();
for (int i = 0; i < c.length; i++)
{
if (c[i]==32)
{
c[i]=(char)12288;
continue;
}
if (c[i]<127)
c[i]=(char)(c[i]+65248);
}
return new String(c);
}
public String ToDBC(String input)
{
char[] c=input.toCharArray();
for (int i = 0; i < c.length; i++)
{
if (c[i]==12288)
{
c[i]= (char)32;
continue;
}
if (c[i]>65280 && c[i]<65375)
c[i]=(char)(c[i]-65248);
}
return new String(c);
}
public String getStrForClob(Clob clob) {
try {
String ret = null;
if (clob != null) {
Reader is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {
sb.append(s);
s = br.readLine();
}
ret = sb.toString();
}
return ret;
} catch (Exception e) {
return "";
}
}
public String clob2string(Clob c) {
StringBuffer sb = new StringBuffer(1024);
Reader instream = null;
try {
instream = c.getCharacterStream();
char[] buffer = new char[(int) c.length()];
int length = 0;
while ((length = instream.read(buffer)) != -1) {
sb.append(buffer);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (instream != null)
instream.close();
} catch (Exception dx) {
instream = null;
}
return sb.toString();
}
}
/**
* 分割字符串
*
* @param str String 原始字符串
* @param splitsign String 分隔符
* @return String[] 分割后的字符串数组
*/
@SuppressWarnings("unchecked")
public String[] split(String str, String splitsign) {
int index;
if (str == null || splitsign == null)
return null;
ArrayList al = new ArrayList();
while ((index = str.indexOf(splitsign)) != -1) {
al.add(str.substring(0, index));
str = str.substring(index + splitsign.length());
}
al.add(str);
return (String[]) al.toArray(new String[0]);
}
/**
* 替换字符串
*
* @param from String 原始字符串
* @param to String 目标字符串
* @param source String 母字符串
* @return String 替换后的字符串
*/
public String replace(String from, String to, String source) {
if (source == null || from == null || to == null)
return null;
StringBuffer bf = new StringBuffer("");
int index = -1;
while ((index = source.indexOf(from)) != -1) {
bf.append(source.substring(0, index) + to);
source = source.substring(index + from.length());
index = source.indexOf(from);
}
bf.append(source);
return bf.toString();
}
/**
* 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)
*
* @param str String 原始字符串
* @return String 替换后的字符串
*/
public String htmlencode(String str) {
if (str == null) {
return null;
}
return replace("\"", """, replace("<", "<", str));
}
/**
* 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)
*
* @param str String
* @return String
*/
public String htmldecode(String str) {
if (str == null) {
return null;
}
return replace(""", "\"", replace("<", "<", str));
}
private static final String _BR = "<br/>";
/**
* 在页面上直接显示文本内容,替换小于号,空格,回车,TAB
*
* @param str String 原始字符串
* @return String 替换后的字符串
*/
public String htmlshow(String str) {
if (str == null) {
return null;
}
str = replace("<", "<", str);
str = replace(" ", " ", str);
str = replace("\r\n", _BR, str);
str = replace("\n", _BR, str);
str = replace("\t", " ", str);
return str;
}
/**
* 返回指定字节长度的字符串
*
* @param str String 字符串
* @param length int 指定长度
* @return String 返回的字符串
*/
public String toLength(String str, int length) {
if (str == null) {
return null;
}
if (length <= 0) {
return "";
}
try {
if (str.getBytes("GBK").length <= length) {
return str;
}
} catch (Exception ex) {
}
StringBuffer buff = new StringBuffer();
int index = 0;
char c;
length -= 3;
while (length > 0) {
c = str.charAt(index);
if (c < 128) {
length--;
} else {
length--;
length--;
}
buff.append(c);
index++;
}
buff.append("...");
return buff.toString();
}